summaryrefslogtreecommitdiff
path: root/std/http/cookie.ts
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2020-06-30 23:08:40 +1000
committerGitHub <noreply@github.com>2020-06-30 09:08:40 -0400
commit7858ebd493afe15b4b583b0218c27e166572b280 (patch)
tree8f76f573e783178644b7757d7103ec86e8d97412 /std/http/cookie.ts
parent062d1a41ea6ab22bab36e54d1f1222fc09351bf3 (diff)
Update std/http/cookie types to not require full ServerRequest object (#6577)
Diffstat (limited to 'std/http/cookie.ts')
-rw-r--r--std/http/cookie.ts22
1 files changed, 11 insertions, 11 deletions
diff --git a/std/http/cookie.ts b/std/http/cookie.ts
index 88a71626c..75d70f74e 100644
--- a/std/http/cookie.ts
+++ b/std/http/cookie.ts
@@ -1,13 +1,10 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
// Structured similarly to Go's cookie.go
// https://github.com/golang/go/blob/master/src/net/http/cookie.go
-import { ServerRequest, Response } from "./server.ts";
import { assert } from "../_util/assert.ts";
import { toIMF } from "../datetime/mod.ts";
-export interface Cookies {
- [key: string]: string;
-}
+export type Cookies = Record<string, string>;
export interface Cookie {
/** Name of the cookie. */
@@ -84,9 +81,9 @@ function toString(cookie: Cookie): string {
/**
* Parse the cookies of the Server Request
- * @param req Server Request
+ * @param req An object which has a `headers` property
*/
-export function getCookies(req: ServerRequest): Cookies {
+export function getCookies(req: { headers: Headers }): Cookies {
const cookie = req.headers.get("Cookie");
if (cookie != null) {
const out: Cookies = {};
@@ -104,14 +101,17 @@ export function getCookies(req: ServerRequest): Cookies {
/**
* Set the cookie header properly in the Response
- * @param res Server Response
+ * @param res An object which has a headers property
* @param cookie Cookie to set
+ *
* Example:
*
- * setCookie(response, { name: 'deno', value: 'runtime',
- * httpOnly: true, secure: true, maxAge: 2, domain: "deno.land" });
+ * ```ts
+ * setCookie(response, { name: 'deno', value: 'runtime',
+ * httpOnly: true, secure: true, maxAge: 2, domain: "deno.land" });
+ * ```
*/
-export function setCookie(res: Response, cookie: Cookie): void {
+export function setCookie(res: { headers?: Headers }, cookie: Cookie): void {
if (!res.headers) {
res.headers = new Headers();
}
@@ -132,7 +132,7 @@ export function setCookie(res: Response, cookie: Cookie): void {
*
* deleteCookie(res,'foo');
*/
-export function deleteCookie(res: Response, name: string): void {
+export function deleteCookie(res: { headers?: Headers }, name: string): void {
setCookie(res, {
name: name,
value: "",