|
1 | | -module.exports = restRequest |
2 | | - |
3 | | -const restEndpoint = require('@octokit/endpoint') |
| 1 | +const endpoint = require('@octokit/endpoint') |
4 | 2 | const fetch = require('node-fetch').default |
5 | | - |
6 | | -const request = require('./lib/request') |
7 | | - |
8 | 3 | const getUserAgent = require('universal-user-agent') |
9 | 4 |
|
| 5 | +const request = require('./lib/request') |
10 | 6 | const version = require('./package.json').version |
11 | 7 | const userAgent = `octokit-request.js/${version} ${getUserAgent()}` |
12 | 8 |
|
13 | | -function restRequest (route, options) { |
14 | | - const requestOptions = restEndpoint.apply(null, arguments) |
15 | | - |
16 | | - // override the default user-agent header set by @octokit/endpoit |
17 | | - if (/^octokit-endpoint.js/.test(requestOptions.headers['user-agent'])) { |
18 | | - requestOptions.headers['user-agent'] = userAgent |
19 | | - } |
| 9 | +function octokitRequest (endpoint, route, options) { |
| 10 | + return request(module.exports.fetch, endpoint(route, options)) |
| 11 | +} |
20 | 12 |
|
21 | | - return request(module.exports.fetch, requestOptions) |
| 13 | +function withDefaults (oldEndpoint, newDefaults) { |
| 14 | + const endpoint = oldEndpoint.defaults(newDefaults) |
| 15 | + const request = octokitRequest.bind(null, endpoint) |
| 16 | + request.endpoint = endpoint |
| 17 | + request.defaults = withDefaults.bind(null, endpoint) |
| 18 | + return request |
22 | 19 | } |
23 | 20 |
|
| 21 | +module.exports = withDefaults(endpoint, { |
| 22 | + headers: { |
| 23 | + 'user-agent': userAgent |
| 24 | + } |
| 25 | +}) |
| 26 | + |
24 | 27 | // expose internally used `fetch` method for testing/mocking only |
25 | 28 | module.exports.fetch = fetch |
0 commit comments