Fixed #1 - Fixed the whatsnew-** script for loading release notes into builds
Added test to ensure that release notes are parsed properly Updated to latest dependencies to fix security vulnerability Updated GH Actions Workflow to run test before updating tag Updated README.md to reflect proper whatsnew documentation.
This commit is contained in:
47
node_modules/aws4/aws4.js
generated
vendored
47
node_modules/aws4/aws4.js
generated
vendored
@@ -22,6 +22,10 @@ function encodeRfc3986(urlEncodedString) {
|
||||
})
|
||||
}
|
||||
|
||||
function encodeRfc3986Full(str) {
|
||||
return encodeRfc3986(encodeURIComponent(str))
|
||||
}
|
||||
|
||||
// request: { path | body, [host], [method], [headers], [service], [region] }
|
||||
// credentials: { accessKeyId, secretAccessKey, [sessionToken] }
|
||||
function RequestSigner(request, credentials) {
|
||||
@@ -220,12 +224,22 @@ RequestSigner.prototype.canonicalString = function() {
|
||||
}
|
||||
|
||||
if (query) {
|
||||
queryStr = encodeRfc3986(querystring.stringify(Object.keys(query).sort().reduce(function(obj, key) {
|
||||
var reducedQuery = Object.keys(query).reduce(function(obj, key) {
|
||||
if (!key) return obj
|
||||
obj[key] = !Array.isArray(query[key]) ? query[key] :
|
||||
(firstValOnly ? query[key][0] : query[key].slice().sort())
|
||||
obj[encodeRfc3986Full(key)] = !Array.isArray(query[key]) ? query[key] :
|
||||
(firstValOnly ? query[key][0] : query[key])
|
||||
return obj
|
||||
}, {})))
|
||||
}, {})
|
||||
var encodedQueryPieces = []
|
||||
Object.keys(reducedQuery).sort().forEach(function(key) {
|
||||
if (!Array.isArray(reducedQuery[key])) {
|
||||
encodedQueryPieces.push(key + '=' + encodeRfc3986Full(reducedQuery[key]))
|
||||
} else {
|
||||
reducedQuery[key].map(encodeRfc3986Full).sort()
|
||||
.forEach(function(val) { encodedQueryPieces.push(key + '=' + val) })
|
||||
}
|
||||
})
|
||||
queryStr = encodedQueryPieces.join('&')
|
||||
}
|
||||
if (pathStr !== '/') {
|
||||
if (normalizePath) pathStr = pathStr.replace(/\/{2,}/g, '/')
|
||||
@@ -233,8 +247,8 @@ RequestSigner.prototype.canonicalString = function() {
|
||||
if (normalizePath && piece === '..') {
|
||||
path.pop()
|
||||
} else if (!normalizePath || piece !== '.') {
|
||||
if (decodePath) piece = decodeURIComponent(piece)
|
||||
path.push(encodeRfc3986(encodeURIComponent(piece)))
|
||||
if (decodePath) piece = decodeURIComponent(piece).replace(/\+/g, ' ')
|
||||
path.push(encodeRfc3986Full(piece))
|
||||
}
|
||||
return path
|
||||
}, []).join('/')
|
||||
@@ -289,8 +303,16 @@ RequestSigner.prototype.defaultCredentials = function() {
|
||||
}
|
||||
|
||||
RequestSigner.prototype.parsePath = function() {
|
||||
var path = this.request.path || '/',
|
||||
queryIx = path.indexOf('?'),
|
||||
var path = this.request.path || '/'
|
||||
|
||||
// S3 doesn't always encode characters > 127 correctly and
|
||||
// all services don't encode characters > 255 correctly
|
||||
// So if there are non-reserved chars (and it's not already all % encoded), just encode them all
|
||||
if (/[^0-9A-Za-z;,/?:@&=+$\-_.!~*'()#%]/.test(path)) {
|
||||
path = encodeURI(decodeURI(path))
|
||||
}
|
||||
|
||||
var queryIx = path.indexOf('?'),
|
||||
query = null
|
||||
|
||||
if (queryIx >= 0) {
|
||||
@@ -298,15 +320,6 @@ RequestSigner.prototype.parsePath = function() {
|
||||
path = path.slice(0, queryIx)
|
||||
}
|
||||
|
||||
// S3 doesn't always encode characters > 127 correctly and
|
||||
// all services don't encode characters > 255 correctly
|
||||
// So if there are non-reserved chars (and it's not already all % encoded), just encode them all
|
||||
if (/[^0-9A-Za-z!'()*\-._~%/]/.test(path)) {
|
||||
path = path.split('/').map(function(piece) {
|
||||
return encodeURIComponent(decodeURIComponent(piece))
|
||||
}).join('/')
|
||||
}
|
||||
|
||||
this.parsedPath = {
|
||||
path: path,
|
||||
query: query,
|
||||
|
||||
Reference in New Issue
Block a user