Link Search Menu Expand Document

HttpСервисОтвет

Стд::HttpСервисы::HttpСервисОтвет
Базовые типы: Объект
Доступность: Сервер

Иерархия типа

graph TD;
HttpСервисОтвет["HttpСервисОтвет"]-->Объект["Объект"];

Результат выполнения обработчика HTTP-сервиса. Доступ к экземпляру осуществляется через свойство Ответ параметра обработчика.

Сравнение ссылочное


Свойства

Заголовки

ТолькоЧтение Заголовки: ЗаголовкиHttp
Доступность: Сервер

Заголовки ответа.

Заголовки ответа могут быть изменены только до начала записи тела. После начала записи тела попытка изменения заголовков будет приводить к исключению.


КодСтатуса

КодСтатуса: Число
Доступность: Сервер

Код состояния (ответа), возвращаемый HTTP-сервисом.


Причина

ТолькоЧтение Причина: Строка
Доступность: Сервер

Текстовая расшифровка кода HTTP-статуса.


Методы

ОткрытьПотокЗаписиТела

ОткрытьПотокЗаписиТела(Размер: Число? = Неопределено): ПотокЗаписи
Доступность: Сервер

Возвращает поток для записи тела. После вызова методы установки заголовков и установки тела запрещены, будет выброшено исключение ИсключениеНедопустимоеСостояние.

Если размер Размер не задан, то устанавливает ‘Transfer-Encoding: Chunked’ Если размер задан, то устанавливает заголовок ‘Content-Length’

При попытке записать в поток больше чем нужно данных выбрасывает исключение. Если на момент окончания выполнения запроса данных записано меньше, то соединение закрывается.

Рекомендуется пользоваться методами УстановитьТело в большинстве случаев. Данный метод следует использовать необходимости потоковое передачи данных.

Примеры

метод ОтдатьКартинку(Ответ: HttpСервисОтвет)
    исп СодержимоеПоток = Ресурс{Картинка.png}.ОткрытьПотокЧтения()
    СодержимоеПоток.КопироватьВ(Ответ.ОткрытьПотокЗаписиТела())
;

УстановитьКодСтатуса

УстановитьКодСтатуса(КодСтатуса: Число)
Доступность: Сервер

Устанавливает код статуса ответа КодСтатуса. Код статуса нельзя изменить после того как начата запись тела. В этом случае при попытке изменить код будет выброшено исключение.


УстановитьТело

УстановитьТело(Тело: Байты)
Доступность: Сервер
Перегрузка:
УстановитьТело(Тело: Строка, Кодировка: Строка = “UTF-8”)
УстановитьТело(Тело: ДвоичныйОбъект.Ссылка)

Устанавливает тело ответа из байтов Тело. Также устанавливает заголовок ‘Content-Length’. После вызова методы установки заголовков и установки тела запрещены, будет выброшено исключение ИсключениеНедопустимоеСостояние.


УстановитьТело

УстановитьТело(Тело: ДвоичныйОбъект.Ссылка)
Доступность: Сервер
Перегрузка:
УстановитьТело(Тело: Строка, Кодировка: Строка = “UTF-8”)
УстановитьТело(Тело: Байты)

Устанавливает тело ответа из двоичных данных Тело. Также устанавливает заголовок ‘Content-Length’. После вызова методы установки заголовков и установки тела запрещены, будет выброшено исключение ИсключениеНедопустимоеСостояние.


УстановитьТело

УстановитьТело(
  Тело: Строка,
  Кодировка: Строка = "UTF-8")
Доступность: Сервер
Перегрузка:
УстановитьТело(Тело: Байты)
УстановитьТело(Тело: ДвоичныйОбъект.Ссылка)

Устанавливает тело ответа из строки Тело в кодировке Кодировка. Также устанавливает заголовок ‘Content-Length’. После вызова методы установки заголовков и установки тела запрещены, будет выброшено исключение ИсключениеНедопустимоеСостояние.

Примеры

метод ТекущееВремя(Запрос: HttpСервисЗапрос)
    Запрос.Ответ.УстановитьТело(Время.Сейчас().ВСтроку())
;

Список унаследованных методов

Объект