Класс 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(), при установке неподдерживаемого типа контента.
- Реализованные типы
Конструкторы
- HttpResponse()
Свойства
- bufferOutput ↔ bool чтение / запись
- Получает или задаёт значение, определяющее, нужно ли буферизировать вывод для HttpResponse.
- connectionInfo → HttpConnectionInfo? только чтение
- Получает информацию о подключении клиента. Возвращает
null, если сокет недоступен. - contentLength ↔ int чтение / запись
- Получает и задаёт длину содержимого ответа. Если размер ответа неизвестен заранее, задайте длину содержимого равной -1, что также является значением по умолчанию, если не задано.
- Куки для установки в клиенте (в заголовке '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