You are here

Объект HttpServerRequest

Объект описывает HTTP-запрос, принятый встроенным HTTP-сервером. Используется в функции фильтрации даннных (событие onHttpServerRequest) и в функциях, определяемых пользователем.

Поля объекта HttpServerRequest:

Request
(чтение/запись) часть HTTP-запроса в виде "/scripts/call/OnHTTPRequest".
Method
(чтение/запись) HTTP-метод (POST, GET, PUT и так далее)
RequestHeaders
(чтение/запись) HTTP-заголовки запроса
RequestData
(чтение/запись) данные запроса (например, данные POST-запросов)
Arguments(argument_name)
(чтение/запись) функция, возвращающая параметры HTTP-запроса по их имени
AnswerStatus
(чтение/запись) статус ответа HTTP. По умолчанию содержит "HTTP/1.1 200 OK".
AnswerHeaders
(чтение/запись) заголовки, которые необходимо передать. По умолчанию модификация этой переменной не требуется.
AnswerData
(чтение/запись) данные HTTP, которые необходимо отправить. Например, текст хтмл-страницы или обычные текстовые данные.
RemoteAddress
(чтение/запись) IP-адрес клиента, выполняющего HTTP-запрос

Пример использования функции, вызываемой пользователем через HTTP-запрос:
Необходимо убедиться, что встроенный HTTP-сервер включен и доступен по адресу http://127.0.0.1:7777/
При открытии ссылки вида http://127.0.0.1:7777/scripts/call/OnHTTPRequest?test=12345 в браузере будет вызвана функция OnHTTPRequest, первым параметром которой будет передан объект HttpServerRequest:

function OnHTTPRequest(request)
{
	// функция возвращает в теле ответа аргумент test, переданный в ссылке
	request.AnswerData = request.Arguments('test');
}

Необходимо осторожно относиться к этому функционалу и использовать предварительную фильтрацию всех запросов в событии onHttpServerRequest, потому как если открыть доступ к встроенному HTTP-сервису извне, то появится возможность вызвать любую функцию скриптов с любого IP-адреса.