summaryrefslogtreecommitdiff
path: root/packages/taler-util/src/http-impl.qtart.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-02-23 00:52:10 +0100
committerFlorian Dold <florian@dold.me>2023-02-23 00:52:17 +0100
commit7985b0a33ffc3e258da5d73f4056384c38e626fe (patch)
tree68908cb8ac2d49551f22bb4745bdf541156b8be5 /packages/taler-util/src/http-impl.qtart.ts
parent7879efcff70ea73935e139f4522aedadfe755c04 (diff)
downloadwallet-core-7985b0a33ffc3e258da5d73f4056384c38e626fe.tar.gz
wallet-core-7985b0a33ffc3e258da5d73f4056384c38e626fe.tar.bz2
wallet-core-7985b0a33ffc3e258da5d73f4056384c38e626fe.zip
taler-harness: deployment tooling for tipping
Diffstat (limited to 'packages/taler-util/src/http-impl.qtart.ts')
-rw-r--r--packages/taler-util/src/http-impl.qtart.ts17
1 files changed, 8 insertions, 9 deletions
diff --git a/packages/taler-util/src/http-impl.qtart.ts b/packages/taler-util/src/http-impl.qtart.ts
index 954b41802..ee3d1f725 100644
--- a/packages/taler-util/src/http-impl.qtart.ts
+++ b/packages/taler-util/src/http-impl.qtart.ts
@@ -21,7 +21,7 @@
*/
import { Logger } from "@gnu-taler/taler-util";
import { TalerError } from "./errors.js";
-import { encodeBody, HttpLibArgs } from "./http-common.js";
+import { encodeBody, getDefaultHeaders, HttpLibArgs } from "./http-common.js";
import {
Headers,
HttpRequestLibrary,
@@ -54,7 +54,7 @@ export class HttpLibImpl implements HttpRequestLibrary {
}
async fetch(url: string, opt?: HttpRequestOptions): Promise<HttpResponse> {
- const method = opt?.method ?? "GET";
+ const method = (opt?.method ?? "GET").toUpperCase();
logger.trace(`Requesting ${method} ${url}`);
@@ -72,19 +72,18 @@ export class HttpLibImpl implements HttpRequestLibrary {
}
let data: ArrayBuffer | undefined = undefined;
- let headers: string[] = [];
- if (opt?.headers) {
- for (let headerName of Object.keys(opt.headers)) {
- headers.push(`${headerName}: ${opt.headers[headerName]}`);
- }
+ const requestHeadersMap = { ...getDefaultHeaders(method), ...opt?.headers };
+ let headersList: string[] = [];
+ for (let headerName of Object.keys(requestHeadersMap)) {
+ headersList.push(`${headerName}: ${requestHeadersMap[headerName]}`);
}
- if (method.toUpperCase() === "POST") {
+ if (method === "POST") {
data = encodeBody(opt?.body);
}
const res = await qjsOs.fetchHttp(url, {
method,
data,
- headers,
+ headers: headersList,
});
return {
requestMethod: method,