Spec-Zone.ru › Dart 1

dart:io

Класс HttpRequest

Объект серверной стороны, содержащий содержимое и информацию об HTTP-запросе.

Примечание: ознакомьтесь с пакетом http_server, который упрощает работу с низкоуровневым подсистемой HTTP-сервера dart:io.

Объекты HttpRequest генерируются объектом HttpServer, который слушает HTTP-запросы на определённом хосте и порту. Для каждого полученного запроса HttpServer, являющийся потоком, генерирует объект HttpRequest и добавляет его в поток.

Объект HttpRequest предоставляет содержимое тела запроса в виде потока списков байтов. Объект также содержит информацию о запросе, такую как метод, URI и заголовки.

В следующем коде HttpServer слушает HTTP-запросы. При получении запроса сервер использует свойство method объекта HttpRequest для обработки запросов.

final HOST = InternetAddress.LOOPBACK_IP_V4;
final PORT = 80;

HttpServer.bind(HOST, PORT).then((_server) {
  _server.listen((HttpRequest request) {
    switch (request.method) {
      case 'GET':
        handleGetRequest(request);
        break;
      case 'POST':
        ...
    }
  },
  onError: handleError);    // listen() failed.
}).catchError(handleError);

Объект HttpRequest предоставляет доступ к связанному объекту HttpResponse через свойство response. Сервер записывает свой ответ в тело объекта HttpResponse. Например, вот функция, которая отвечает на запрос:

void handleGetRequest(HttpRequest req) {
  HttpResponse res = req.response;
  res.write('Received request ${req.method}: ${req.uri.path}');
  res.close();
}
Реализует
  • Поток<Список<int>>

Конструкторы

HttpRequest()

Свойства

certificate → X509Certificate
только для чтения

Сертификат клиента, совершившего запрос.

connectionInfo → HttpConnectionInfo
только для чтения

Информация о подключении клиента.

contentLength → int
только для чтения

Длина содержимого тела запроса.

cookies → Список<Cookie>
только для чтения

Файлы cookie в запросе, из заголовков Cookie.

headers → HttpHeaders
только для чтения

Заголовки запроса.

method → String
только для чтения

Метод, такой как 'GET' или 'POST', для запроса.

persistentConnection → bool
только для чтения

Состояние постоянного подключения, сигнализированное клиентом.

protocolVersion → String
только для чтения

Версия HTTP-протокола, используемая в запросе, либо "1.0", либо "1.1".

requestedUri → Uri
только для чтения

Запрашиваемый URI для запроса.

response → HttpResponse
только для чтения

Объект HttpResponse, используемый для отправки ответа клиенту.

session → HttpSession
только для чтения

Сессия для данного запроса.

uri → Uri
только для чтения

URI для запроса.

first → Future<Список<int>>
только для чтения, унаследованное

Возвращает первый элемент потока.

hashCode → int
только для чтения, унаследованное

Код хеширования для этого объекта.

isBroadcast → bool
только для чтения, унаследованное

Является ли этот поток потоком широковещательной передачи.

isEmpty → Future<bool>
только для чтения, унаследованное

Сообщает, содержит ли этот поток какие-либо элементы.

last → Future<Список<int>>
только для чтения, унаследованное

Возвращает последний элемент потока.

length → Future<int>
только для чтения, унаследованное

Считает элементы в потоке.

runtimeType → Type
только для чтения, унаследованное

Представление runtime-типа объекта.

single → Future<Список<int>>
только для чтения, унаследованное

Возвращает единственный элемент.

Операторы

operator ==(other) → bool
унаследованное

Оператор равенства.

Методы

any(bool test(T element)) → Future<bool>
inherited

Проверяет, принимает ли test любой элемент, предоставляемый этим потоком.

asBroadcastStream({void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription) }) → Stream<List<int>>
inherited

Возвращает поток с множественными подписками, производящий те же события, что и этот.

asyncExpand<E>(Stream<E> convert(T event)) → Stream<E>
inherited

Создаёт новый поток со событиями потока на каждый оригинальный элемент.

asyncMap<E>(dynamic convert(T event)) → Stream<E>
inherited

Создаёт новый поток, асинхронно отображающий каждое событие данных этого потока на новое событие.

contains(Object needle) → Future<bool>
inherited

Проверяет, встречается ли needle в элементах, предоставляемых этим потоком.

distinct([bool equals(T previous, T next) ]) → Stream<List<int>>
inherited

Пропускает события данных, если они равны предыдущему событию данных.

drain<E>([E futureValue ]) → Future<E>
inherited

Отбрасывает все данные из потока, но сигнализирует об окончании или возникновении ошибки.

elementAt(int index) → Future<List<int>>
inherited

Возвращает значение index-го события данных этого потока.

every(bool test(T element)) → Future<bool>
inherited

Проверяет, принимает ли test все элементы, предоставляемые этим потоком.

expand<S>(Iterable<S> convert(T value)) → Stream<S>
inherited

Создаёт новый поток из этого потока, преобразующий каждый элемент в ноль или более событий.

firstWhere(bool test(T element), { Object defaultValue() }) → Future
inherited

Находит первый элемент этого потока, соответствующий test.

fold<S>(S initialValue, S combine(S previous, T element)) → Future<S>
inherited

Сводит последовательность значений, повторяя применение combine.

forEach(void action(T element)) → Future
inherited

Выполняет action для каждого события данных потока.

handleError(Function onError, { bool test(error) }) → Stream<List<int>>
inherited

Создаёт оболочку Stream, перехватывающую некоторые ошибки из этого потока.

join([String separator = "" ]) → Future<String>
inherited

Собирает строку представлений строковых событий данных.

lastWhere(bool test(T element), { Object defaultValue() }) → Future
inherited

Находит последний элемент в этом потоке, соответствующий test.

listen(void onData(T event), { Function onError, void onDone(), bool cancelOnError }) → StreamSubscription<List<int>>
inherited

Добавляет подписку на этот поток.

map<S>(S convert(T event)) → Stream<S>
inherited

Создаёт новый поток, преобразующий каждый элемент этого потока в новое значение с помощью функции convert.

noSuchMethod(Invocation invocation) → dynamic
inherited

Вызывается при попытке доступа к несуществующему методу или свойству.

pipe(StreamConsumer<List<int>> streamConsumer) → Future
inherited

Перенаправляет события этого потока в streamConsumer.

reduce(List<int> combine(T previous, T element)) → Future<List<int>>
inherited

Сводит последовательность значений, повторяя применение combine.

singleWhere(bool test(T element)) → Future<List<int>>
inherited

Находит единственный элемент в этом потоке, соответствующий test.

skip(int count) → Stream<List<int>>
inherited

Пропускает первые count события данных из этого потока.

skipWhile(bool test(T element)) → Stream<List<int>>
inherited

Пропускает события данных из этого потока, пока они соответствуют test.

take(int count) → Stream<List<int>>
inherited

Предоставляет не более первых count событий данных из этого потока.

takeWhile(bool test(T element)) → Stream<List<int>>
inherited

Пересылает события данных, пока test успешен.

timeout(Duration timeLimit, { void onTimeout(EventSink<T> sink) }) → Stream<List<int>>
inherited

Создаёт новый поток с теми же событиями, что и этот поток.

toList() → Future<List<List<int>>>
inherited

Собирает данные этого потока в List.

toSet() → Future<Set<Список<int>>>
inherited

Собирает данные этого потока в множество.

toString() → Строка
inherited

Возвращает строковое представление этого объекта.

transform<S>(StreamTransformer<Список<int>, S> streamTransformer) → Поток<S>
inherited

Цепочкой этот поток как вход для предоставленного преобразователя потоков.

where(bool test(T event)) → Поток<Список<int>>
inherited

Создаёт новый поток из этого потока, отбрасывая некоторые события данных.

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-io/HttpRequest-class.html

Spec-Zone.ru

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