Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

std/http/mod.ts>serve

Deno standard library
Go to Latest
The Standard Library has been moved to JSR. See the blog post for details.
function serve
Deprecated
Deprecated

(will be removed after 1.0.0) Use Deno.serve instead.

Serves HTTP requests with the given handler.

You can specify an object with a port and hostname option, which is the address to listen on. The default is port 8000 on hostname "0.0.0.0".

The below example serves with the port 8000.

import { serve } from "https://deno.land/std@0.211.0/http/server.ts";
serve((_req) => new Response("Hello, world"));

You can change the listening address by the hostname and port options. The below example serves with the port 3000.

import { serve } from "https://deno.land/std@0.211.0/http/server.ts";
serve((_req) => new Response("Hello, world"), { port: 3000 });

serve function prints the message Listening on http://<hostname>:<port>/ on start-up by default. If you like to change this message, you can specify onListen option to override it.

import { serve } from "https://deno.land/std@0.211.0/http/server.ts";
serve((_req) => new Response("Hello, world"), {
onListen({ port, hostname }) {
console.log(`Server started at http://${hostname}:${port}`);
// ... more info specific to your server ..
},
});

You can also specify undefined or null to stop the logging behavior.

import { serve } from "https://deno.land/std@0.211.0/http/server.ts";
serve((_req) => new Response("Hello, world"), { onListen: undefined });
import { serve } from "https://deno.land/std@0.211.0/http/mod.ts";

Parameters

handler: Handler

The handler for individual HTTP requests.

optional
options: ServeInit = [UNSUPPORTED]

The options. See ServeInit documentation for details.

Returns

Promise<void>