summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/dts/lib.dom.d.ts1
-rw-r--r--cli/tests/unit/fetch_test.ts9
-rw-r--r--ext/fetch/lib.deno_fetch.d.ts1
3 files changed, 11 insertions, 0 deletions
diff --git a/cli/dts/lib.dom.d.ts b/cli/dts/lib.dom.d.ts
index c5eafbec8..997e731b5 100644
--- a/cli/dts/lib.dom.d.ts
+++ b/cli/dts/lib.dom.d.ts
@@ -11275,6 +11275,7 @@ interface Response extends Body {
declare var Response: {
prototype: Response;
new(body?: BodyInit | null, init?: ResponseInit): Response;
+ json(data: unknown, init?: ResponseInit): Response;
error(): Response;
redirect(url: string | URL, status?: number): Response;
};
diff --git a/cli/tests/unit/fetch_test.ts b/cli/tests/unit/fetch_test.ts
index bfd5bc991..0720a0531 100644
--- a/cli/tests/unit/fetch_test.ts
+++ b/cli/tests/unit/fetch_test.ts
@@ -1533,3 +1533,12 @@ Deno.test(
assertEquals(length, 'Some("4")');
},
);
+
+Deno.test(async function staticResponseJson() {
+ const data = { hello: "world" };
+ const resp = Response.json(data);
+ assertEquals(resp.status, 200);
+ assertEquals(resp.headers.get("content-type"), "application/json");
+ const res = await resp.json();
+ assertEquals(res, data);
+});
diff --git a/ext/fetch/lib.deno_fetch.d.ts b/ext/fetch/lib.deno_fetch.d.ts
index 62f0eab39..395300291 100644
--- a/ext/fetch/lib.deno_fetch.d.ts
+++ b/ext/fetch/lib.deno_fetch.d.ts
@@ -383,6 +383,7 @@ type ResponseType =
/** This Fetch API interface represents the response to a request. */
declare class Response implements Body {
constructor(body?: BodyInit | null, init?: ResponseInit);
+ static json(data: unknown, init?: ResponseInit): Response;
static error(): Response;
static redirect(url: string, status?: number): Response;