Spec-Zone.ru › Dart 1

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
    = 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(), при установке неподдерживаемого типа контента.

Реализует
  • IOSink

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

HttpResponse()

Свойства

bufferOutput → bool
чтение / запись

Получение или установка значения, определяющего, должен ли объект HttpResponse буферизовать вывод.

connectionInfo → HttpConnectionInfo
только чтение

Получение информации о соединении клиента. Возвращает null если сокет недоступен.

contentLength → int
чтение / запись

Получение и установка длины контента ответа. Если размер ответа неизвестен заранее, установите длину контента в -1 - это также значение по умолчанию, если не указано.

cookies → Список<Cookie>
только чтение

Куки, которые должны быть установлены в клиенте (в заголовке '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

Spec-Zone.ru

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