(will be removed after 1.0.0) Use Deno.serve instead.
Used to construct an HTTP server.
Constructors
new Server(serverInit: ServerInit)Constructs a new HTTP Server instance.
import { Server } from "@std/http/server"; const port = 4505; const handler = (request: Request) => { const body = `Your user-agent is:\n\n${request.headers.get( "user-agent", ) ?? "Unknown"}`; return new Response(body, { status: 200 }); }; const server = new Server({ port, handler });
Properties
Methods
close(): voidImmediately close the server listeners and associated HTTP connections.
Throws a server closed error if called after the server has been closed.
listenAndServe(): Promise<void>Create a listener on the server, accept incoming connections, and handle requests on these connections with the given handler.
If the server was constructed without a specified port, 80 is used.
If the server was constructed with the hostname omitted from the options, the
non-routable meta-address 0.0.0.0 is used.
Throws a server closed error if the server has been closed.
import { Server } from "@std/http/server"; const port = 4505; const handler = (request: Request) => { const body = `Your user-agent is:\n\n${request.headers.get( "user-agent", ) ?? "Unknown"}`; return new Response(body, { status: 200 }); }; const server = new Server({ port, handler }); console.log("server listening on http://localhost:4505"); await server.listenAndServe();
listenAndServeTls(): Promise<void>Create a listener on the server, accept incoming connections, upgrade them to TLS, and handle requests on these connections with the given handler.
If the server was constructed without a specified port, 443 is used.
If the server was constructed with the hostname omitted from the options, the
non-routable meta-address 0.0.0.0 is used.
Throws a server closed error if the server has been closed.
import { Server } from "@std/http/server"; const port = 4505; const handler = (request: Request) => { const body = `Your user-agent is:\n\n${request.headers.get( "user-agent", ) ?? "Unknown"}`; return new Response(body, { status: 200 }); }; const server = new Server({ port, handler }); const certFile = "/path/to/certFile.crt"; const keyFile = "/path/to/keyFile.key"; console.log("server listening on https://localhost:4505"); await server.listenAndServeTls(certFile, keyFile);
serve(listener: Deno.Listener): Promise<void>Accept incoming connections on the given listener, and handle requests on these connections with the given handler.
HTTP/2 support is only enabled if the provided Deno.Listener returns TLS connections and was configured with "h2" in the ALPN protocols.
Throws a server closed error if called after the server has been closed.
Will always close the created listener.
import { Server } from "@std/http/server"; const handler = (request: Request) => { const body = `Your user-agent is:\n\n${request.headers.get( "user-agent", ) ?? "Unknown"}`; return new Response(body, { status: 200 }); }; const server = new Server({ handler }); const listener = Deno.listen({ port: 4505 }); console.log("server listening on http://localhost:4505"); await server.serve(listener);