forked from mirrors/action-gh-release
setup integration test
This commit is contained in:
parent
1a522d88d8
commit
845942e04a
555 changed files with 103819 additions and 1 deletions
53
node_modules/@octokit/rest/plugins/normalize-git-reference-responses/index.js
generated
vendored
Normal file
53
node_modules/@octokit/rest/plugins/normalize-git-reference-responses/index.js
generated
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
module.exports = octokitRestNormalizeGitReferenceResponses
|
||||
|
||||
const { RequestError } = require('@octokit/request-error')
|
||||
|
||||
function octokitRestNormalizeGitReferenceResponses (octokit) {
|
||||
octokit.hook.wrap('request', (request, options) => {
|
||||
const isGetOrListRefRequest = /\/repos\/:?\w+\/:?\w+\/git\/refs\/:?\w+/.test(options.url)
|
||||
|
||||
if (!isGetOrListRefRequest) {
|
||||
return request(options)
|
||||
}
|
||||
|
||||
const isGetRefRequest = 'ref' in options
|
||||
|
||||
return request(options)
|
||||
.then(response => {
|
||||
// request single reference
|
||||
if (isGetRefRequest) {
|
||||
if (Array.isArray(response.data)) {
|
||||
throw new RequestError(`More than one reference found for "${options.ref}"`, 404, {
|
||||
request: options
|
||||
})
|
||||
}
|
||||
|
||||
// ✅ received single reference
|
||||
return response
|
||||
}
|
||||
|
||||
// request list of references
|
||||
if (!Array.isArray(response.data)) {
|
||||
response.data = [response.data]
|
||||
}
|
||||
|
||||
return response
|
||||
})
|
||||
|
||||
.catch(error => {
|
||||
if (isGetRefRequest) {
|
||||
throw error
|
||||
}
|
||||
|
||||
if (error.status === 404) {
|
||||
return {
|
||||
status: 200,
|
||||
headers: error.headers,
|
||||
data: []
|
||||
}
|
||||
}
|
||||
|
||||
throw error
|
||||
})
|
||||
})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue