Spec-Zone.ru › Dart 2

dart:io

Класс HttpResponse

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

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

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

Этот класс реализует IOSink. После настройки заголовков, можно использовать методы IOSink, такие как writeln(), для записи тела HTTP ответа. Используйте метод 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.

Если charset не указан, используется по умолчанию 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>
только чтение
Куки для установки в клиенте (в заголовке 'set-cookie').
deadline ↔ Duration?
чтение / запись
Устанавливает и получает deadline для ответа. Deadline отсчитывается от момента установки. Установка новой даты истечения срока действия перепишет любую предыдущую. При превышении срока, ответ будет закрыт, и любые дальнейшие данные будут проигнорированы.
done → Future
только чтение, унаследовано
Future, который завершится, когда потребитель закроется или произойдёт ошибка.
encoding ↔ Encoding
чтение / запись, унаследовано
Кодировка, используемая при записи строк.
hashCode → int
только чтение, унаследовано
Хеш-код для этого объекта.
headers → HttpHeaders
только чтение
Возвращает заголовки ответа.
persistentConnection ↔ bool
чтение / запись
Получает и задаёт состояние постоянного соединения. Начальное значение этого свойства — состояние постоянного соединения из запроса.
reasonPhrase ↔ String
чтение / запись
Фраза причины ответа.
runtimeType → Type
только чтение, унаследовано
Представление типа объекта во время выполнения.
statusCode ↔ int
чтение / запись
Код состояния ответа.

Методы

add(List<int> data) → void
унаследовано
Добавляет байты data к целевому потребителю, игнорируя encoding.
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, и добавляет кодировку результата к целевому потребителю.
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.18.5/dart-io/HttpResponse-class.html

Spec-Zone.ru

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