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 }) }) }