module.exports = octokitDebug; function octokitDebug(octokit) { octokit.hook.wrap("request", (request, options) => { octokit.log.debug("request", options); const start = Date.now(); const requestOptions = octokit.request.endpoint.parse(options); const path = requestOptions.url.replace(options.baseUrl, ""); return request(options) .then(response => { octokit.log.info( `${requestOptions.method} ${path} - ${ response.status } in ${Date.now() - start}ms` ); return response; }) .catch(error => { octokit.log.info( `${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms` ); throw error; }); }); }