|
|
import { ProxyReqMutator } from "../index"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export const finalizeSignedRequest: ProxyReqMutator = (manager) => { |
|
|
const req = manager.request; |
|
|
if (!req.signedRequest) { |
|
|
throw new Error("Expected req.signedRequest to be set"); |
|
|
} |
|
|
|
|
|
|
|
|
manager.setPath(req.signedRequest.path); |
|
|
|
|
|
|
|
|
|
|
|
const headers = req.signedRequest.headers; |
|
|
Object.keys(headers).forEach((key) => { |
|
|
manager.removeHeader(key); |
|
|
}); |
|
|
Object.entries(req.signedRequest.headers).forEach(([key, value]) => { |
|
|
manager.setHeader(key, value); |
|
|
}); |
|
|
const serialized = |
|
|
typeof req.signedRequest.body === "string" |
|
|
? req.signedRequest.body |
|
|
: JSON.stringify(req.signedRequest.body); |
|
|
manager.setHeader("Content-Length", String(Buffer.byteLength(serialized))); |
|
|
manager.setBody(serialized); |
|
|
}; |
|
|
|