fix: Problems in SignHelper were preventing the API client from working because of exports variable that wasn't adapted to TypeScript earlier.

This commit is contained in:
David Ball 2024-08-20 04:13:13 -04:00
parent 5787bea9ba
commit 886e1d1d2b
3 changed files with 8 additions and 9 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "amazon-pa-api5-node-ts", "name": "amazon-pa-api5-node-ts",
"version": "2.2.7", "version": "2.3.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "amazon-pa-api5-node-ts", "name": "amazon-pa-api5-node-ts",
"version": "2.2.7", "version": "2.3.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"superagent": "^9.0.0" "superagent": "^9.0.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "amazon-pa-api5-node-ts", "name": "amazon-pa-api5-node-ts",
"version": "2.2.7", "version": "2.3.0",
"description": "ProductAdvertisingAPI 5.0 NodeJS SDK rewritten in TypeScript.", "description": "ProductAdvertisingAPI 5.0 NodeJS SDK rewritten in TypeScript.",
"license": "Apache-2.0", "license": "Apache-2.0",
"main": "dist/src/index.mjs", "main": "dist/src/index.mjs",

View File

@ -48,18 +48,17 @@ const hexEncodedHash = (data: BinaryLike | string) => {
return hashSHA256.digest(HEX).toString(); return hashSHA256.digest(HEX).toString();
} }
export const createAuthorizationHeaders = (timestamp: number | string | Date, accessKey: string, region: string, service: string, signedHeaders: string, signature: string) => export const createAuthorizationHeaders = (timestamp: number | string | Date, accessKey: string, region: string, service: string, signedHeaders: string, signature: string) =>
`${AWS4_HMAC_SHA256} Credential=${accessKey}/${exports.createCredentialScope(timestamp, region, service)}, SignedHeaders=${signedHeaders}, Signature=${signature}`; `${AWS4_HMAC_SHA256} Credential=${accessKey}/${createCredentialScope(timestamp, region, service)}, SignedHeaders=${signedHeaders}, Signature=${signature}`;
export const createCanonicalRequest = (method: string, pathname: string, query: Record<string, string | number | boolean>, headers: Record<string, any>, payload: any) => { export const createCanonicalRequest = (method: string, pathname: string, query: Record<string, string | number | boolean>, headers: Record<string, any>, payload: any) => {
var payloadJson = JSON.stringify(payload); var payloadJson = JSON.stringify(payload);
return [ return [
method.toUpperCase(), method.toUpperCase(),
pathname, pathname,
exports.createCanonicalQueryString(query), createCanonicalQueryString(query),
exports.createCanonicalHeaders(headers), createCanonicalHeaders(headers),
exports.createSignedHeaders(headers), createSignedHeaders(headers),
hexEncodedHash(String(payloadJson)) hexEncodedHash(String(payloadJson))
].join('\n'); ].join('\n');
}; };
@ -96,7 +95,7 @@ export const createStringToSign = (time: number | string | Date, region: string,
[ [
AWS4_HMAC_SHA256, AWS4_HMAC_SHA256,
toTime(time), toTime(time),
exports.createCredentialScope(time, region, service), createCredentialScope(time, region, service),
hexEncodedHash(request) hexEncodedHash(request)
].join('\n'); ].join('\n');