mirror of
https://github.com/denoland/deno.git
synced 2024-12-26 09:10:40 -05:00
.. | ||
cookie.ts | ||
cookie_test.ts | ||
file_server.ts | ||
file_server_test.ts | ||
http_bench.ts | ||
http_status.ts | ||
racing_server.ts | ||
racing_server_test.ts | ||
README.md | ||
server.ts | ||
server_test.ts | ||
test.ts |
http
A framework for creating HTTP/HTTPS server.
Cookie
Helper to manipulate Cookie
throught ServerRequest
and Response
.
import { getCookies } from "https://deno.land/std/http/cookie.ts";
let req = new ServerRequest();
req.headers = new Headers();
req.headers.set("Cookie", "full=of; tasty=chocolate");
const c = getCookies(request);
// c = { full: "of", tasty: "chocolate" }
To set a Cookie
you can add CookieOptions
to properly set your Cookie
import { setCookie } from "https://deno.land/std/http/cookie.ts";
let res: Response = {};
res.headers = new Headers();
setCookie(res, { name: "Space", value: "Cat" });
Deleting a Cookie
will set its expiration date before now.
Forcing the browser to delete it.
import { delCookie } from "https://deno.land/std/http/cookie.ts";
let res = new Response();
delCookie(res, "deno");
// Will append this header in the response
// "Set-Cookie: deno=; Expires=Thus, 01 Jan 1970 00:00:00 GMT"
Note: At the moment multiple Set-Cookie
in a Response
is not handled.
Example
import { serve } from "https://deno.land/std/http/server.ts";
const s = serve("0.0.0.0:8000");
async function main() {
for await (const req of s) {
req.respond({ body: new TextEncoder().encode("Hello World\n") });
}
}
main();
File Server
A small program for serving local files over HTTP.
Add the following to your .bash_profile
alias file_server="deno --allow-net https://deno.land/std/http/file_server.ts"