aboutsummaryrefslogtreecommitdiff
path: root/source/library/fetcher/http.ts
diff options
context:
space:
mode:
Diffstat (limited to 'source/library/fetcher/http.ts')
-rw-r--r--source/library/fetcher/http.ts19
1 files changed, 5 insertions, 14 deletions
diff --git a/source/library/fetcher/http.ts b/source/library/fetcher/http.ts
index 3138226..64322f2 100644
--- a/source/library/fetcher/http.ts
+++ b/source/library/fetcher/http.ts
@@ -3,6 +3,7 @@
/*** UTILITY ------------------------------------------ ***/
+import { buildHeaders, postJson } from "./http-body.ts";
import type { Fetcher, FetcherOptions } from "./types.ts";
/*** EXPORT ------------------------------------------- ***/
@@ -11,20 +12,10 @@ export function createHttpFetcher(options: FetcherOptions): Fetcher {
const fetchImpl = options.fetch ?? globalThis.fetch;
return async (req) => {
- const response = await fetchImpl(options.url, {
- body: JSON.stringify({
- operationName: req.operationName,
- query: req.query,
- variables: req.variables
- }),
- headers: {
- "Content-Type": "application/json",
- ...options.headers,
- ...req.headers
- },
- method: "POST"
+ return await postJson(fetchImpl, options.url, buildHeaders(options, req), {
+ operationName: req.operationName,
+ query: req.query,
+ variables: req.variables
});
-
- return await response.json();
};
}