Spec-Zone.ru › Dart 2

dart:io

Класс HttpRequest

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

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

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

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

final HOST = InternetAddress.loopbackIPv4;
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();
}
Реализованные типы
  • Stream<Uint8List>

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

HttpRequest()

Свойства

certificate → X509Certificate?
только для чтения
Сертификат клиента, отправившего запрос.
connectionInfo → HttpConnectionInfo?
только для чтения
Сведения о подключении клиента.
contentLength → int
только для чтения
Длина содержимого тела запроса.
cookies → List<Cookie>
только для чтения
Файлы cookie запроса из заголовков «Cookie».
first → Future<Uint8List>
только для чтения, унаследовано
Первый элемент этого потока.
hashCode → int
только для чтения, унаследовано
Хеш-код этого объекта.
headers → HttpHeaders
только для чтения
Заголовки запроса.
isBroadcast → bool
только для чтения, унаследовано
Является ли этот поток широковещательным.
isEmpty → Future<bool>
только для чтения, унаследовано
Содержит ли этот поток какие-либо элементы.
last → Future<Uint8List>
только для чтения, унаследовано
Последний элемент этого потока.
length → Future<int>
только для чтения, унаследовано
Количество элементов в этом потоке.
method → String
только для чтения
Метод запроса, например 'GET' или 'POST'.
persistentConnection → bool
только для чтения
Состояние постоянного соединения, переданное клиентом.
protocolVersion → String
только для чтения
Версия протокола HTTP, использованная в запросе: «1.0» или «1.1».
requestedUri → Uri
только для чтения
URI, запрошенный в запросе.
response → HttpResponse
только для чтения
Объект HttpResponse, используемый для отправки ответа клиенту.
runtimeType → Type
только для чтения, унаследовано
Представление типа объекта во время выполнения.
session → HttpSession
только для чтения
Сеанс для данного запроса.
single → Future<Uint8List>
только для чтения, унаследовано
Единственный элемент этого потока.
uri → Uri
только для чтения
URI запроса.

Методы

any(bool test(Uint8List element)) → Future<bool>
унаследовано
Проверяет, принимает ли test какой-либо элемент, предоставленный этим потоком.
asBroadcastStream({void onListen(StreamSubscription<Uint8List> subscription)?, void onCancel(StreamSubscription<Uint8List> subscription)?}) → Stream<Uint8List>
унаследовано
Возвращает поток с несколькими подписками, который генерирует те же события, что и этот поток.
asyncExpand<E>(Stream<E>? convert(Uint8List event)) → Stream<E>
унаследовано
Преобразует каждый элемент в последовательность асинхронных событий.
asyncMap<E>(FutureOr<E> convert(Uint8List event)) → Stream<E>
унаследовано
Создает новый поток, асинхронно преобразуя каждое событие данных этого потока в новое событие.
cast<R>() → Stream<R>
унаследовано
Приводит этот поток к типу Stream<R>.
contains(Object? needle) → Future<bool>
унаследовано
Возвращает, встречается ли needle среди элементов, предоставленных этим потоком.
distinct([bool equals(Uint8List previous, Uint8List next)?]) → Stream<Uint8List>
унаследовано
Пропускает события данных, равные предыдущему событию данных.
drain<E>([E? futureValue]) → Future<E>
унаследовано
Отбрасывает все данные из этого потока, но сообщает о его завершении или возникновении ошибки.
elementAt(int index) → Future<Uint8List>
унаследовано
Возвращает значение index-го события данных этого потока.
every(bool test(Uint8List element)) → Future<bool>
унаследовано
Проверяет, принимает ли test все элементы, предоставленные этим потоком.
expand<S>(Iterable<S> convert(Uint8List element)) → Stream<S>
унаследовано
Преобразует каждый элемент этого потока в последовательность элементов.
firstWhere(bool test(Uint8List element), {Uint8List orElse()?}) → Future<Uint8List>
унаследовано
Находит первый элемент этого потока, соответствующий test.
fold<S>(S initialValue, S combine(S previous, Uint8List element)) → Future<S>
унаследовано
Объединяет последовательность значений, многократно применяя combine.
forEach(void action(Uint8List element)) → Future
унаследовано
Выполняет action для каждого элемента этого потока.
handleError(Function onError, {bool test(dynamic error)?}) → Stream<Uint8List>
унаследовано
Создает поток-обертку, перехватывающий некоторые ошибки этого потока.
join([String separator = ""]) → Future<String>
унаследовано
Объединяет строковые представления элементов в одну строку.
lastWhere(bool test(Uint8List element), {Uint8List orElse()?}) → Future<Uint8List>
унаследовано
Находит последний элемент этого потока, соответствующий test.
listen(void onData(Uint8List event)?, {Function? onError, void onDone()?, bool? cancelOnError}) → StreamSubscription<Uint8List>
унаследовано
Добавляет подписку на этот поток.
map<S>(S convert(Uint8List event)) → Stream<S>
унаследовано
Преобразует каждый элемент этого потока в новое событие потока.
noSuchMethod(Invocation invocation) → dynamic
унаследовано
Вызывается при обращении к несуществующему методу или свойству.
pipe(StreamConsumer<Uint8List> streamConsumer) → Future
унаследовано
Передает события этого потока в streamConsumer.
reduce(Uint8List combine(Uint8List previous, Uint8List element)) → Future<Uint8List>
унаследовано
Объединяет последовательность значений, многократно применяя combine.
singleWhere(bool test(Uint8List element), {Uint8List orElse()?}) → Future<Uint8List>
унаследовано
Находит единственный элемент этого потока, соответствующий test.
skip(int count) → Stream<Uint8List>
унаследовано
Пропускает первые count событий данных этого потока.
skipWhile(bool test(Uint8List element)) → Stream<Uint8List>
унаследовано
Пропускает события данных этого потока, пока они соответствуют test.
take(int count) → Stream<Uint8List>
унаследовано
Предоставляет не более первых count событий данных этого потока.
takeWhile(bool test(Uint8List element)) → Stream<Uint8List>
унаследовано
Передает события данных, пока test возвращает true.
timeout(Duration timeLimit, {void onTimeout(EventSink<Uint8List> sink)?}) → Stream<Uint8List>
унаследовано
Создает новый поток с теми же событиями, что и у этого потока.
toList() → Future<List<Uint8List>>
унаследовано
Собирает все элементы этого потока в List.
toSet() → Future<Set<Uint8List>>
унаследовано
Собирает данные этого потока в Set.
toString() → String
унаследовано
Строковое представление этого объекта.
transform<S>(StreamTransformer<Uint8List, S> streamTransformer) → Stream<S>
унаследовано
Применяет streamTransformer к этому потоку.
where(bool test(Uint8List event)) → Stream<Uint8List>
унаследовано
Создает на основе этого потока новый поток, отбрасывающий некоторые элементы.

Операторы

operator ==(Object other) → bool
унаследовано
Оператор равенства.

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-io/HttpRequest-class.html

Spec-Zone.ru

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