Spec-Zone.ru › Deno 2

функция Deno.serve

serve(handler: ServeHandler<Deno.NetAddr>): HttpServer<Deno.NetAddr>

Обрабатывает HTTP-запросы с заданным обработчиком.

В примере ниже обработка выполняется на порте 8000 на хосте "127.0.0.1".

Deno.serve((_req) => new Response("Hello, world"));

Параметры

handler: ServeHandler<Deno.NetAddr>

Тип возвращаемого значения

HttpServer<Deno.NetAddr>
serve(options: ServeUnixOptions,handler: ServeHandler<Deno.UnixAddr>,): HttpServer<Deno.UnixAddr>

Обрабатывает HTTP-запросы с заданным обработчиком и пакетом опций.

Вы можете указать путь к сокету с помощью опции path.

Deno.serve(
  { path: "path/to/socket" },
  (_req) => new Response("Hello, world")
);

Вы можете остановить сервер с помощью AbortSignal. Сигнал прерывания должен быть передан в качестве опции signal в пакете опций. Сервер прерывается при прерывании сигнала прерывания. Чтобы дождаться закрытия сервера, дождитесь выполнения промиса, возвращаемого API Deno.serve.

const ac = new AbortController();

const server = Deno.serve(
   { signal: ac.signal, path: "path/to/socket" },
   (_req) => new Response("Hello, world")
);
server.finished.then(() => console.log("Server closed"));

console.log("Closing server...");
ac.abort();

По умолчанию Deno.serve выводит сообщение Listening on path/to/socket при прослушивании. Если вы хотите изменить это поведение, вы можете указать пользовательский onListen обратный вызов.

Deno.serve({
  onListen({ path }) {
    console.log(`Server started at ${path}`);
    // ... more info specific to your server ..
  },
  path: "path/to/socket",
}, (_req) => new Response("Hello, world"));

Параметры

options: ServeUnixOptions
handler: ServeHandler<Deno.UnixAddr>

Тип возвращаемого значения

HttpServer<Deno.UnixAddr>
serve(options: ServeTcpOptions | (ServeTcpOptions & TlsCertifiedKeyPem),handler: ServeHandler<Deno.NetAddr>,): HttpServer<Deno.NetAddr>

Обрабатывает HTTP-запросы с заданным пакетом опций и обработчиком.

Вы можете указать объект с опциями порта и хоста, который является адресом для прослушивания. По умолчанию используется порт 8000 на хосте "0.0.0.0".

Вы можете изменить адрес прослушивания с помощью опций hostname и port. В примере ниже используется порт 3000 и хост "127.0.0.1".

Deno.serve(
  { port: 3000, hostname: "127.0.0.1" },
  (_req) => new Response("Hello, world")
);

Вы можете остановить сервер с помощью AbortSignal. Сигнал прерывания должен быть передан в качестве опции signal в пакете опций. Сервер прерывается при прерывании сигнала. Чтобы дождаться закрытия сервера, дождитесь выполнения промиса, возвращаемого API Deno.serve.

const ac = new AbortController();

const server = Deno.serve(
   { signal: ac.signal },
   (_req) => new Response("Hello, world")
);
server.finished.then(() => console.log("Server closed"));

console.log("Closing server...");
ac.abort();

По умолчанию Deno.serve выводит сообщение Listening on http://<hostname>:<port>/ при прослушивании. Если вы хотите изменить это поведение, вы можете указать пользовательский onListen обратный вызов.

Deno.serve({
  onListen({ port, hostname }) {
    console.log(`Server started at http://${hostname}:${port}`);
    // ... more info specific to your server ..
  },
}, (_req) => new Response("Hello, world"));

Для включения TLS необходимо указать опции key и cert.

const cert = "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n";
const key = "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n";
Deno.serve({ cert, key }, (_req) => new Response("Hello, world"));

Параметры

options: ServeTcpOptions | (ServeTcpOptions & TlsCertifiedKeyPem)
handler: ServeHandler<Deno.NetAddr>

Тип возвращаемого значения

HttpServer<Deno.NetAddr>
serve(options: ServeUnixOptions & ServeInit<Deno.UnixAddr>): HttpServer<Deno.UnixAddr>

Обрабатывает HTTP-запросы с заданным пакетом опций.

Вы можете указать объект с опцией пути, которая является сокетом unix-домена для прослушивания.

const ac = new AbortController();

const server = Deno.serve({
  path: "path/to/socket",
  handler: (_req) => new Response("Hello, world"),
  signal: ac.signal,
  onListen({ path }) {
    console.log(`Server started at ${path}`);
  },
});
server.finished.then(() => console.log("Server closed"));

console.log("Closing server...");
ac.abort();

Параметры

options: ServeUnixOptions & ServeInit<Deno.UnixAddr>

Тип возвращаемого значения

HttpServer<Deno.UnixAddr>
serve(options: (ServeTcpOptions | (ServeTcpOptions & TlsCertifiedKeyPem)) & ServeInit<Deno.NetAddr>): HttpServer<Deno.NetAddr>

Обрабатывает HTTP-запросы с заданным пакетом опций.

Вы можете указать объект с опциями порта и хоста, который является адресом для прослушивания. По умолчанию используется порт 8000 на хосте "0.0.0.0".

const ac = new AbortController();

const server = Deno.serve({
  port: 3000,
  hostname: "127.0.0.1",
  handler: (_req) => new Response("Hello, world"),
  signal: ac.signal,
  onListen({ port, hostname }) {
    console.log(`Server started at http://${hostname}:${port}`);
  },
});
server.finished.then(() => console.log("Server closed"));

console.log("Closing server...");
ac.abort();

Параметры

options: (ServeTcpOptions | (ServeTcpOptions & TlsCertifiedKeyPem)) & ServeInit<Deno.NetAddr>

Тип возвращаемого значения

HttpServer<Deno.NetAddr>

© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/~/Deno.serve

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API