setup-node/node_modules/octokit-pagination-methods/lib/get-page.js

39 lines
1.0 KiB
JavaScript
Raw Normal View History

2019-08-06 03:18:52 +08:00
module.exports = getPage
const deprecate = require('./deprecate')
const getPageLinks = require('./get-page-links')
const HttpError = require('./http-error')
function getPage (octokit, link, which, headers) {
deprecate(`octokit.get${which.charAt(0).toUpperCase() + which.slice(1)}Page() You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
const url = getPageLinks(link)[which]
if (!url) {
const urlError = new HttpError(`No ${which} page found`, 404)
return Promise.reject(urlError)
}
const requestOptions = {
url,
headers: applyAcceptHeader(link, headers)
}
const promise = octokit.request(requestOptions)
return promise
}
function applyAcceptHeader (res, headers) {
const previous = res.headers && res.headers['x-github-media-type']
if (!previous || (headers && headers.accept)) {
return headers
}
headers = headers || {}
headers.accept = 'application/vnd.' + previous
.replace('; param=', '.')
.replace('; format=', '+')
return headers
}