Класс 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
= new 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.CONTENT_TYPE, "text/plain"); response.write(...); // Strings written will be ISO-8859-1 encoded.
Исключение будет выброшено, если использовать метод write(), при установке неподдерживаемого типа контента.
- Реализует
Конструкторы
- HttpResponse()
Свойства
- bufferOutput → bool чтение / запись
-
Получение или установка значения, определяющего, должен ли объект HttpResponse буферизовать вывод.
- connectionInfo → HttpConnectionInfo только чтение
-
Получение информации о соединении клиента. Возвращает
nullесли сокет недоступен. - contentLength → int чтение / запись
-
Получение и установка длины контента ответа. Если размер ответа неизвестен заранее, установите длину контента в -1 - это также значение по умолчанию, если не указано.
-
Куки, которые должны быть установлены в клиенте (в заголовке 'set-cookie').
- deadline → Duration чтение / запись
-
Устанавливает и получает значение deadline для ответа. Deadline отсчитывается с момента установки. Новая установка deadline переопределяет предыдущую. При превышении deadline ответ будет закрыт, и любые дальнейшие данные будут проигнорированы.
- headers → HttpHeaders только чтение
-
Возвращает заголовки ответа.
- persistentConnection → bool чтение / запись
-
Получает и устанавливает состояние постоянного соединения. Начальное значение этого свойства — состояние постоянного соединения из запроса.
- reasonPhrase → Строка чтение / запись
-
Получение и установка фразы причины. Если фраза причины не установлена явно, используется фраза причины по умолчанию.
- statusCode → int чтение / запись
-
Получение и установка кода состояния. Принимаются любые целые значения. Для официальных кодов состояния HTTP используйте поля из HttpStatus. Если код состояния не задан явно, используется значение по умолчанию HttpStatus.OK.
- done → Future только чтение, унаследовано
-
Получение будущего, которое завершится, когда потребитель закроется или произойдет ошибка. Это будущее идентично будущему, возвращаемому
close. - encoding → Encoding чтение / запись, унаследовано
-
Используемая Encoding при записи строк. В зависимости от базового потребителя, это свойство может быть изменяемым.
- hashCode → int только чтение, унаследовано
-
Хеш-код для этого объекта.
- runtimeType → Тип только чтение, унаследовано
-
Представление типа объекта во время выполнения.
Операторы
- operator ==(
other) → bool унаследовано -
Оператор равенства.
Методы
- detachSocket(
{bool writeHeaders: true }) → Future<Socket> -
Отсоединяет базовый сокет от HTTP-сервера. Когда сокет отсоединен, HTTP-сервер больше не будет выполнять никаких операций с ним.
- redirect(
Uri location, { int status: HttpStatus.MOVED_TEMPORARILY }) → Future -
Отвечает перенаправлением на
location. - add(
Список<int> data) → void унаследовано -
Добавляет байты
dataк целевому потребителю, игнорируя encoding. - addError(
error, [ StackTrace stackTrace ]) → void унаследовано -
Передает ошибку целевому потребителю как событие об ошибке.
- addStream(
Поток<Список<int>> stream) → Future унаследовано -
Добавляет все элементы данного
streamкthis. - close(
) → Future унаследовано -
Закрывает целевого потребителя.
- flush(
) → Future унаследовано -
Возвращает Future, который завершается, когда все буферизованные данные приняты базовым StreamConsumer.
- noSuchMethod(
Invocation invocation) → dynamic унаследовано -
Вызывается при обращении к несуществующему методу или свойству.
- toString(
) → Строка унаследовано -
Возвращает строковое представление этого объекта.
- write(
Объект obj) → void унаследовано -
Преобразует
objв строку, вызвав Object.toString, и добавляет кодировку результата к целевому потребителю. - writeAll(
Iterable objects, [ Строка separator = "" ]) → void унаследовано -
Перебирает заданный
objectsи выполняет write для каждого элемента. - writeCharCode(
int charCode) → void унаследовано -
Записывает символ
charCode. - writeln(
[Объект obj = "" ]) → void унаследовано -
Преобразует
objв строку, вызвав Object.toString, и записывает результат вthis, после чего записывает символ новой строки.
© 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/HttpResponse-class.html