Модуль базовый модуль

Модуль http

Модуль протокола передачи гипертекста для поддержки обработки протокола http, псевдоним модуля: https

Объект

Request

Создайте объект HTTP-запроса, см. HttpRequest

1
HttpRequest http.Request;

Response

Создайте объект ответа http, см. HttpResponse

1
HttpResponse http.Response;

Создайте объект http cookie, см. HttpCookie

1
HttpCookie http.Cookie;

Server

Создайте http-сервер, см. HttpServer

1
HttpServer http.Server;

Client

Создайте http-клиент, см. HttpClient

1
HttpClient http.Client;

HttpsServer

Создайте https-сервер, см. HttpsServer

1
HttpsServer http.HttpsServer;

Handler

Создайте объект обработчика протокола http, см. HttpHandler

1
HttpHandler http.Handler;

Repeater

Создайте объект процессора пересылки HTTP-запросов, см. HttpRepeater

1
HttpRepeater http.Repeater;

Статическая функция

fileHandler

Создайте обработчик статических файлов http для ответа на сообщения http статическими файлами

1 2 3
static Handler http.fileHandler(String root, Object mimes = {}, Boolean autoIndex = false);

Параметры звонка:

  • root: String, корневой путь к файлу
  • mimes: Объект, расширенные настройки MIME
  • autoIndex: Boolean, поддерживать ли файлы каталога просмотра, по умолчанию false, не поддерживается

Результат возврата:

  • Handler, Возвращает статический файловый процессор для обработки http-сообщений

fileHandler поддерживает предварительное сжатие gzip.Когда запрос принимает кодировку gzip и файл filename.ext.gz существует по тому же пути, он напрямую вернет этот файл, чтобы избежать нагрузки на сервер, вызванной повторным сжатием.


setClientCert

Установить сертификат клиента по умолчанию

1 2
static http.setClientCert(X509Cert crt, PKey key);

Параметры звонка:

  • crt: X509Cert, Сертификат, используемый для отправки на сервер для проверки клиента.
  • key: PKey, Закрытый ключ, используемый для разговора с клиентом

request

Отправить http-запрос на указанный объект потока и вернуть результат

1 2
static HttpResponse http.request(Stream conn, HttpRequest req) async;

Параметры звонка:

  • conn: Stream, Укажите объект потока для обработки запроса
  • req: HttpRequest, Для отправки HttpRequest Объект

Результат возврата:


Отправить http-запрос на указанный объект потока и вернуть результат

1 2 3
static HttpResponse http.request(Stream conn, HttpRequest req, SeekableStream response_body) async;

Параметры звонка:

  • conn: Stream, Укажите объект потока для обработки запроса
  • req: HttpRequest, Для отправки HttpRequest Объект
  • response_body: SeekableStream, Укажите поток response.body

Результат возврата:


Указанный запрос urlИ вернуть результат

1 2 3
static HttpResponse http.request(String method, String url, Object opts = {}) async;

Параметры звонка:

  • method: String, укажите метод HTTP-запроса: GET, POST и т. Д.
  • url: String, укажите url, Должен быть полным, включая хост url
  • opts: Объект, укажите дополнительную информацию

Результат возврата:

opts содержит запрошенные дополнительные параметры, а поддерживаемое содержимое выглядит следующим образом:

1 2 3 4 5 6 7 8
{ "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {}, "response_body": SeekableStream //指定接受 resposne 数据的流 }

Где тело,json, Пак не должен появляться одновременно. По умолчанию {}, не содержит дополнительной информации.


get

Используйте метод GET для запроса указанного url, И вернуть результат, эквивалентный запросу ("GET", ...)

1 2
static HttpResponse http.get(String url, Object opts = {}) async;

Параметры звонка:

  • url: String, укажите url, Должен быть полным, включая хост url
  • opts: Объект, укажите дополнительную информацию

Результат возврата:

opts содержит запрошенные дополнительные параметры, а поддерживаемое содержимое выглядит следующим образом:

1 2 3 4 5 6 7
{ "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

Где тело,json, Пак не должен появляться одновременно. По умолчанию {}, не содержит дополнительной информации.


post

Используйте метод POST для запроса указанного url, И вернуть результат, эквивалентный запросу ("POST", ...)

1 2
static HttpResponse http.post(String url, Object opts = {}) async;

Параметры звонка:

  • url: String, укажите url, Должен быть полным, включая хост url
  • opts: Объект, укажите дополнительную информацию

Результат возврата:

opts содержит запрошенные дополнительные параметры, а поддерживаемое содержимое выглядит следующим образом:

1 2 3 4 5 6 7
{ "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

Где тело,json, Пак не должен появляться одновременно. По умолчанию {}, не содержит дополнительной информации.


del

Используйте метод DELETE для запроса указанного url, И вернуть результат, эквивалентный запросу ("УДАЛИТЬ", ...)

1 2
static HttpResponse http.del(String url, Object opts = {}) async;

Параметры звонка:

  • url: String, укажите url, Должен быть полным, включая хост url
  • opts: Объект, укажите дополнительную информацию

Результат возврата:

opts содержит запрошенные дополнительные параметры, а поддерживаемое содержимое выглядит следующим образом:

1 2 3 4 5 6 7
{ "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

Где тело,json, Пак не должен появляться одновременно. По умолчанию {}, не содержит дополнительной информации.


put

Используйте метод PUT для запроса указанного url, И вернуть результат, эквивалентный запросу ("PUT", ...)

1 2
static HttpResponse http.put(String url, Object opts = {}) async;

Параметры звонка:

  • url: String, укажите url, Должен быть полным, включая хост url
  • opts: Объект, укажите дополнительную информацию

Результат возврата:

opts содержит запрошенные дополнительные параметры, а поддерживаемое содержимое выглядит следующим образом:

1 2 3 4 5 6 7
{ "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

Где тело,json, Пак не должен появляться одновременно. По умолчанию {}, не содержит дополнительной информации.


patch

Используйте метод PATCH для запроса указанного url, И вернуть результат, эквивалентный запросу ("ПАТЧ", ...)

1 2
static HttpResponse http.patch(String url, Object opts = {}) async;

Параметры звонка:

  • url: String, укажите url, Должен быть полным, включая хост url
  • opts: Объект, укажите дополнительную информацию

Результат возврата:

opts содержит запрошенные дополнительные параметры, а поддерживаемое содержимое выглядит следующим образом:

1 2 3 4 5 6 7
{ "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

Где тело,json, Пак не должен появляться одновременно. По умолчанию {}, не содержит дополнительной информации.

Статические свойства

STATUS_CODES

Массив, возвращает набор стандартных кодов состояния ответа HTTP и краткое описание каждого из них.

1
static readonly Array http.STATUS_CODES;

cookies

NArray, верните http-клиент HttpCookie Список объектов

1
static readonly NArray http.cookies;

timeout

Целое число, запрос и установка тайм-аута

1
static Integer http.timeout;

enableCookie

Логическое значение, переключатель функции cookie, включен по умолчанию

1
static Boolean http.enableCookie;

autoRedirect

Логическое значение, переключатель функции автоматического перенаправления, включен по умолчанию

1
static Boolean http.autoRedirect;

enableEncoding

Логическое значение, переключатель функции автоматической декомпрессии, включен по умолчанию

1
static Boolean http.enableEncoding;

maxBodySize

Целое число, запрос и установка максимального размера тела в МБ, по умолчанию -1, и размер не ограничен.

1
static Integer http.maxBodySize;

userAgent

Строка, запрос и установка идентификатора браузера в http-запросе

1
static String http.userAgent;

poolSize

Целое число, запрос и установка максимального количества соединений кэша проверки активности, значение по умолчанию - 128.

1
static Integer http.poolSize;

poolTimeout

Целое число, запрос и установка времени ожидания соединения с кешем keep-alive, по умолчанию 10000 мс

1
static Integer http.poolTimeout;

proxyAgent

Строка, запрос и установка прокси-сервера

1
static String http.proxyAgent;