ОбъектHttpRequest
HttpRequest — класс, используемый для обработки HTTP-запросов. Он позволяет создавать HTTP-запросы и взаимодействовать с сервером. Вы можете использовать его для отправки GET, POST и других типов HTTP-запросов на веб-сервер.
Предположим, у нас есть параметр запроса с именем ключа, и мы возвращаем разные результаты обработки на основе этого параметра: если параметр пуст, возвращаем «Hello world!», если параметр «fibjs», возвращаем «Hello fibjs!»; в противном случае верните «Привет, кто-то!».
Код реализован следующим образом:
1
2
3
4
5
6
7
8
9
10const http = require('http');
var svr = new http.Server(8080, (req) => {
var name = req.query.get('name');
var msg = name ? `Hello ${name}!` : 'Hello world!';
req.response.write(msg);
});
svr.start();
Здесь мы используем req.query
этот тип коллекции, который представляет параметры запроса в URL-адресе HTTP-запроса.
Обращаемся по http://127.0.0.1:8080/?name=fibjs через браузер к сервисной программе и получаем содержимое ответа сервера Hello fibjs!
.
отношения наследства
Конструктор
HttpRequest
Конструктор HttpRequest создает новый объект HttpRequest.
1new HttpRequest();
постоянный
TEXT
Укажите тип сообщения 1, который представляет тип текста.
1const HttpRequest.TEXT = 1;
BINARY
Укажите тип сообщения 2, представляющий двоичный тип.
1const HttpRequest.BINARY = 2;
свойства члена
response
HttpResponse, Получить объект ответного сообщения
1readonly HttpResponse HttpRequest.response;
method
Строка, запрос и методы запроса установки
1String HttpRequest.method;
address
Строка, запрос и адрес запроса установки
1String HttpRequest.address;
queryString
Строка, запрос и строка запроса установки запроса
1String HttpRequest.queryString;
cookies
HttpCollection, получите контейнер, содержащий файлы cookie сообщений
1readonly HttpCollection HttpRequest.cookies;
form
HttpCollection, получите контейнер, содержащий форму сообщения
1readonly HttpCollection HttpRequest.form;
query
HttpCollection, получите контейнер, содержащий запрос сообщения
1readonly HttpCollection HttpRequest.query;
protocol
Строка, информация о версии протокола, разрешенный формат: HTTP/#.#.
1String HttpRequest.protocol;
headers
HttpCollection, включенный в сообщениеhttpКонтейнер для заголовков сообщений, свойство только для чтения.
1readonly HttpCollection HttpRequest.headers;
keepAlive
Логическое значение, запрос и установка, поддерживать ли соединение
1Boolean HttpRequest.keepAlive;
upgrade
Логическое значение, запрос и установка, является ли это протоколом обновления.
1Boolean HttpRequest.upgrade;
maxHeadersCount
Целое число, запросите и установите максимальное количество заголовков запроса, значение по умолчанию — 128.
1Integer HttpRequest.maxHeadersCount;
maxHeaderSize
Целое число, запросите и установите максимальную длину заголовка запроса, значение по умолчанию — 8192.
1Integer HttpRequest.maxHeaderSize;
maxBodySize
Целое число, запрос и установка максимального размера тела в МБ, значение по умолчанию — 64.
1Integer HttpRequest.maxBodySize;
socket
Stream, Запросить исходный сокет текущего объекта
1readonly Stream HttpRequest.socket;
value
Строка, основное содержание сообщения.
1String HttpRequest.value;
params
NArray, основные параметры сообщения
1readonly NArray HttpRequest.params;
type
Целое число, тип сообщения
1Integer HttpRequest.type;
data
Значение, запрос данных сообщения. Этот атрибут будет возвращать разные данные в зависимости от типа контента. Если это текст, будет возвращен текст.jsonвернуться, когдаjson, в противном случае возвращается двоичный файл
1readonly Value HttpRequest.data;
body
SeekableStream, объект потока, содержащий часть данных сообщения
1SeekableStream HttpRequest.body;
length
Long, длина части данных сообщения.
1readonly Long HttpRequest.length;
stream
Stream, объект потока при запросе сообщения readFrom
1readonly Stream HttpRequest.stream;
lastError
Строка, запрос и установка последней ошибки обработки сообщения
1String HttpRequest.lastError;
функция-член
hasHeader
Проверьте, существует ли заголовок сообщения с указанным значением ключа.
1Boolean HttpRequest.hasHeader(String name);
Параметры звонка:
- name: строка, указывает значение ключа, которое необходимо проверить.
Результаты возврата:
- Boolean, возвращает, существует ли значение ключа
firstHeader
Запросить заголовок первого сообщения указанного значения ключа
1String HttpRequest.firstHeader(String name);
Параметры звонка:
- name: строка, укажите значение ключа, которое будет запрошено.
Результаты возврата:
- String, возвращает значение, соответствующее значению ключа, если оно не существует, возвращает неопределенное значение
allHeader
Запросить все заголовки сообщений указанного значения ключа
1NObject HttpRequest.allHeader(String name = "");
Параметры звонка:
- name: строка, укажите значение ключа для запроса, передайте пустую строку, чтобы вернуть результаты всех значений ключа.
Результаты возврата:
- NObject, возвращает массив всех значений, соответствующих значению ключа. Если данные не существуют, возвращает ноль.
addHeader
Добавьте заголовок сообщения, добавьте данные и не изменяйте заголовок сообщения существующего значения ключа.
1HttpRequest.addHeader(Object map);
Параметры звонка:
- map: Объект, указывает добавляемый словарь данных «ключ-значение».
Добавляет набор заголовков с указанным именем. Добавление данных не изменяет заголовки существующих значений ключей.
1
2HttpRequest.addHeader(String name,
Array values);
Параметры звонка:
- name: строка, указывает добавляемое значение ключа.
- values: Массив, определяет набор добавляемых данных.
Добавьте заголовок сообщения, добавьте данные и не изменяйте заголовок сообщения существующего значения ключа.
1
2HttpRequest.addHeader(String name,
String value);
Параметры звонка:
- name: строка, указывает добавляемое значение ключа.
- value: Строка, укажите данные, которые необходимо добавить.
setHeader
Установите заголовок сообщения. Установка данных приведет к изменению первого значения, соответствующего значению ключа, и очистке остальных заголовков сообщений с тем же значением ключа.
1HttpRequest.setHeader(Object map);
Параметры звонка:
- map: Объект, указывает словарь данных «ключ-значение», который будет установлен.
Задайте набор заголовков сообщений с указанным именем. Установка данных приведет к изменению значения, соответствующего значению ключа, и очистке остальных заголовков сообщений с тем же значением ключа.
1
2HttpRequest.setHeader(String name,
Array values);
Параметры звонка:
- name: Строка, укажите значение ключа, которое будет установлено.
- values: Массив, определяет набор данных для установки.
Установите заголовок сообщения. Установка данных приведет к изменению первого значения, соответствующего значению ключа, и очистке остальных заголовков сообщений с тем же значением ключа.
1
2HttpRequest.setHeader(String name,
String value);
Параметры звонка:
- name: Строка, укажите значение ключа, которое будет установлено.
- value: Строка, укажите данные для установки.
removeHeader
Удалить все заголовки сообщений с указанным значением ключа
1HttpRequest.removeHeader(String name);
Параметры звонка:
- name: строка, указывает значение ключа, которое необходимо удалить.
read
Чтение данных указанного размера из потока.Этот метод является псевдонимом соответствующего метода тела.
1Buffer HttpRequest.read(Integer bytes = -1) async;
Параметры звонка:
- bytes: целое число, указывает объем считываемых данных.По умолчанию считываются блоки данных случайного размера.Размер считываемых данных зависит от устройства.
Результаты возврата:
- Buffer, возвращает данные, считанные из потока. Если данных для чтения нет или соединение прервано, возвращается значение null.
readAll
Считайте все оставшиеся данные из потока.Этот метод является псевдонимом соответствующего метода тела.
1Buffer HttpRequest.readAll() async;
Результаты возврата:
- Buffer, возвращает данные, считанные из потока. Если данных для чтения нет или соединение прервано, возвращается значение null.
write
Запишите данные.Этот метод является псевдонимом соответствующего метода в теле.
1HttpRequest.write(Buffer data) async;
Параметры звонка:
- data:Buffer, учитывая данные, которые нужно записать
json
Записывает данные в кодировке JSON.
1Value HttpRequest.json(Value data);
Параметры звонка:
- data: Значение, учитывая данные для записи.
Результаты возврата:
- Value, этот метод не возвращает данные
Разобрать данные в сообщении как кодировку JSON.
1Value HttpRequest.json();
Результаты возврата:
- Value, возвращает результат анализа
pack
кmsgpackКодирование записывает данные данные
1Value HttpRequest.pack(Value data);
Параметры звонка:
- data: Значение, учитывая данные для записи.
Результаты возврата:
- Value, этот метод не возвращает данные
кmsgpackКодирование и анализ данных в сообщении
1Value HttpRequest.pack();
Результаты возврата:
- Value, возвращает результат анализа
end
Установить окончание обработки текущего сообщения,ChainПроцессор не продолжает выполнение последующих транзакций
1HttpRequest.end();
isEnded
Запросить, закончилось ли текущее сообщение
1Boolean HttpRequest.isEnded();
Результаты возврата:
- Boolean, возвращает true по завершении
clear
Очистить содержимое сообщения
1HttpRequest.clear();
sendTo
Отправляет форматированное сообщение данному объекту потока.
1HttpRequest.sendTo(Stream stm) async;
Параметры звонка:
- stm:Stream, указывает объект потока, который получает форматированное сообщение
readFrom
Считывает отформатированное сообщение из заданного объекта потока кэша и анализирует заполненный объект.
1HttpRequest.readFrom(Stream stm) async;
Параметры звонка:
- stm:Stream, указывает объект потока для чтения форматированных сообщений
toString
Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String HttpRequest.toString();
Результаты возврата:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.
1Value HttpRequest.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется.
Результаты возврата:
- Value, возвращает значение, содержащее сериализуемый JSON