Spec-Zone.ru › Dart 2

dart:io

Класс HttpResponse

HTTP-ответ, который возвращает заголовки и данные с сервера клиенту в ответ на HTTP-запрос.

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

Запись ответа

Этот класс реализует IOSink. После настройки заголовка для записи тела HTTP-ответа можно использовать методы IOSink, такие как writeln(). Используйте метод close(), чтобы закрыть ответ и отправить его клиенту.

server.listen((HttpRequest request) {
  request.response.write('Hello, world!');
  request.response.close();
});

При первом использовании одного из методов IOSink отправляется заголовок запроса. Вызов любых методов, изменяющих заголовок после его отправки, приводит к исключению.

Настройка заголовков

Объект HttpResponse имеет ряд свойств для настройки HTTP-заголовков ответа. При записи строковых данных через IOSink используемая кодировка определяется параметром "charset" заголовка "Content-Type".

HttpResponse response = ...
response.headers.contentType
    = ContentType("application", "json", charset: "utf-8");
response.write(...);  // Strings written will be UTF-8 encoded.

Если кодировка не указана, будет использоваться значение по умолчанию ISO-8859-1 (Latin 1).

HttpResponse response = ...
response.headers.add(HttpHeaders.contentTypeHeader, "text/plain");
response.write(...);  // Strings written will be ISO-8859-1 encoded.

Если задан неподдерживаемый тип содержимого, при использовании метода write() будет выброшено исключение.

Реализуемые типы
  • IOSink

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

HttpResponse()

Свойства

bufferOutput ↔ bool
чтение / запись
Возвращает или задаёт, должен ли объект HttpResponse буферизовать вывод.
connectionInfo → HttpConnectionInfo?
только для чтения
Возвращает информацию о соединении с клиентом. Возвращает null, если сокет недоступен.
contentLength ↔ int
чтение / запись
Возвращает и задаёт длину содержимого ответа. Если размер ответа заранее неизвестен, задайте длину содержимого равной -1. Это также значение по умолчанию, если длина не задана.
cookies → List<Cookie>
только для чтения
Файлы cookie, которые нужно установить у клиента (в заголовке 'set-cookie').
deadline ↔ Duration?
чтение / запись
Задаёт и возвращает крайний срок для ответа. Отсчёт времени начинается с момента его задания. Новый крайний срок заменяет любой предыдущий. По истечении крайнего срока ответ закрывается, а все последующие данные игнорируются.
done → Future
только для чтения, унаследовано
Объект future, который завершится, когда потребитель закроется или произойдёт ошибка.
encoding ↔ Encoding
чтение / запись, унаследовано
Кодировка, используемая при записи строк.
hashCode → int
только для чтения, унаследовано
Хеш-код этого объекта.
headers → HttpHeaders
только для чтения
Возвращает заголовки ответа.
persistentConnection ↔ bool
чтение / запись
Возвращает и задаёт состояние постоянного соединения. Начальное значение этого свойства соответствует состоянию постоянного соединения запроса.
reasonPhrase ↔ String
чтение / запись
Фраза причины ответа.
runtimeType → Type
только для чтения, унаследовано
Представление типа объекта во время выполнения.
statusCode ↔ int
чтение / запись
Код состояния ответа.

Методы

add(List<int> data) → void
унаследовано
Добавляет байты data целевому потребителю, игнорируя кодировку.
addError(Object error, [StackTrace? stackTrace]) → void
унаследовано
Передаёт ошибку целевому потребителю как событие ошибки.
addStream(Stream<List<int>> stream) → Future
унаследовано
Добавляет все элементы указанного stream.
close() → Future
унаследовано
Закрывает целевого потребителя.
detachSocket({bool writeHeaders = true}) → Future<Socket>
Отсоединяет базовый сокет от HTTP-сервера. После отсоединения сокета HTTP-сервер больше не будет выполнять над ним никаких операций.
flush() → Future
унаследовано
Возвращает Future, который завершается, когда все буферизованные данные приняты базовым объектом StreamConsumer.
noSuchMethod(Invocation invocation) → dynamic
унаследовано
Вызывается при обращении к несуществующему методу или свойству.
redirect(Uri location, {int status = HttpStatus.movedTemporarily}) → Future
Отправляет ответ с перенаправлением на location.
toString() → String
унаследовано
Строковое представление этого объекта.
write(Object? object) → void
унаследовано
Преобразует object в строку, вызывая Object.toString, и добавляет кодировку результата целевому потребителю с помощью add.
writeAll(Iterable objects, [String separator = ""]) → void
унаследовано
Перебирает указанный objects и последовательно записывает их с помощью write.
writeCharCode(int charCode) → void
унаследовано
Записывает символ с кодом charCode.
writeln([Object? object = ""]) → void
унаследовано
Преобразует object в строку, вызывая Object.toString, и записывает результат в this, добавляя в конце символ новой строки.

Операторы

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/HttpResponse-class.html

Spec-Zone.ru

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