Fetch
HTTP-клиент для получения данных по сети. Получайте ресурсы с серверов, обрабатывайте ответы и управляйте сетевыми запросами.
Например fetch, Response, Request, Headers
класс Deno.HttpClient
Пользовательский HttpClient для использования с функцией fetch. Он позволяет использовать с fetch() пользовательские сертификаты или прокси.
Примеры
const caCert = await Deno.readTextFile("./ca.pem");
const client = Deno.createHttpClient({ caCerts: [ caCert ] });
const req = await fetch("https://myserver.com", { client });
Методы
[Symbol.dispose](): void close(): void Закрывает HTTP-клиент.
функция Deno.createHttpClient
createHttpClient(options: CreateHttpClientOptions | (CreateHttpClientOptions & TlsCertifiedKeyPem)): HttpClientСоздаёт пользовательский HttpClient для использования с fetch. Это расширение Fetch API веб-платформы, позволяющее Deno использовать пользовательские сертификаты TLS CA и подключаться через прокси при использовании fetch().
Параметры cert и key позволяют указать сертификат и ключ клиента для подключения к серверу, требующему аутентификации клиента (взаимный TLS или mTLS). Параметры cert и key должны быть в формате PEM.
Примеры
const caCert = await Deno.readTextFile("./ca.pem");
const client = Deno.createHttpClient({ caCerts: [ caCert ] });
const response = await fetch("https://myserver.com", { client });
const client = Deno.createHttpClient({
proxy: { url: "http://myproxy.com:8080" }
});
const response = await fetch("https://myserver.com", { client });
const key = "----BEGIN PRIVATE KEY----...";
const cert = "----BEGIN CERTIFICATE----...";
const client = Deno.createHttpClient({ key, cert });
const response = await fetch("https://myserver.com", { client });
Параметры
options: CreateHttpClientOptions | (CreateHttpClientOptions & TlsCertifiedKeyPem) Возвращаемый тип
интерфейс Deno.BasicAuth
Учётные данные для базовой аутентификации на сервере Deno.Proxy при указании Deno.CreateHttpClientOptions.
Свойства
интерфейс Deno.CreateHttpClientOptions
Параметры, используемые при создании Deno.HttpClient.
Свойства
caCerts: string[] Список корневых сертификатов, которые будут использоваться наряду с сертификатами по умолчанию для проверки сертификата узла.
Должен быть в формате PEM.
poolMaxIdlePerHost: number Задаёт максимальное количество неактивных подключений к одному узлу, допустимое в пуле.
poolIdleTimeout: number | false Задаёт необязательный тайм-аут для поддерживаемых открытыми неактивных сокетов. Чтобы отключить тайм-аут, задайте значение false.
http1: boolean = true Разрешено ли использование HTTP/1.1.
http2: boolean = true Разрешено ли использование HTTP/2.
allowHost: boolean = false Разрешено ли задавать заголовок host.
localAddress: string Задаёт локальный адрес, с которого будет подключаться сокет.
http2MaxHeaderListSize: number Задаёт максимальный размер списка заголовков HTTP/2 (в байтах), который будет принимать клиент. Это соответствует настройке HTTP/2 SETTINGS_MAX_HEADER_LIST_SIZE.
Если значение не задано, используется значение по умолчанию из используемой библиотеки HTTP.
псевдоним типа Deno.Proxy
Определение альтернативных транспортов (или прокси) в Deno.CreateHttpClientOptions.
Поддерживаемые прокси:
- HTTP/HTTPS-прокси: туннелирует HTTP-запросы посредством перенаправления, а HTTPS-запросы — через HTTP CONNECT на другой сервер.
- SOCKS5-прокси: использует протокол SOCKS5 для туннелирования TCP-подключений через другой сервер.
- TCP-сокет: отправляет все запросы в указанный TCP-сокет.
- Сокет домена Unix: отправляет все запросы в локальный сокет домена Unix вместо TCP-сокета. Не поддерживается в Windows.
- Сокет Vsock: отправляет все запросы в локальный сокет vsock. Поддерживается только в Linux и macOS.
Определение
{ transport?:
"http"
| "https"
| "socks5"
; url: string; basicAuth?: BasicAuth; }
| { transport: "tcp"; hostname: string; port: number; }
| { transport: "unix"; path: string; }
| { transport: "vsock"; cid: number; port: number; }
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/fetch