객체Http요청
HttpRequest는 HTTP 요청을 처리하는 데 사용되는 클래스로, 이를 통해 HTTP 요청을 생성하고 서버와 상호 작용할 수 있습니다. 이를 사용하여 GET, POST 및 기타 유형의 HTTP 요청을 웹 서버에 보낼 수 있습니다.
키 이름이 포함된 쿼리 매개변수가 있고 이 매개변수를 기반으로 다양한 처리 결과를 반환한다고 가정합니다. 매개변수가 비어 있으면 "Hello world!"를 반환하고 매개변수가 "fibjs"이면 "Hello fibjs!"를 반환합니다. 그렇지 않으면 "Hello some body!"를 반환합니다.
코드는 다음과 같이 구현됩니다.
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
여기서는 HTTP 요청 URL의 쿼리 매개변수를 나타내는 컬렉션 유형을 사용합니다 .
서비스 프로그램에 브라우저를 통해 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, 메시지 쿠키가 포함된 컨테이너를 가져옵니다.
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
Boolean, 연결 유지 여부를 쿼리하고 설정합니다.
1Boolean HttpRequest.keepAlive;
upgrade
업그레이드 프로토콜인지 여부를 부울, 쿼리 및 설정
1Boolean HttpRequest.upgrade;
maxHeadersCount
정수, 요청 헤더의 최대 수를 쿼리하고 설정합니다. 기본값은 128입니다.
1Integer HttpRequest.maxHeadersCount;
maxHeaderSize
정수, 쿼리 및 최대 요청 헤더 길이 설정, 기본값은 8192
1Integer HttpRequest.maxHeaderSize;
maxBodySize
정수, 쿼리 및 최대 본문 크기(MB) 설정, 기본값은 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, 키 값에 해당하는 모든 값의 배열을 반환하며, 데이터가 존재하지 않으면 null을 반환합니다.
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
스트림에서 지정된 크기의 데이터를 읽습니다. 이 메서드는 해당 body 메서드의 별칭입니다.
1Buffer HttpRequest.read(Integer bytes = -1) async;
호출 매개변수:
- bytes: 정수, 읽을 데이터의 양을 지정합니다. 기본값은 임의 크기의 데이터 블록을 읽는 것입니다. 읽는 데이터의 크기는 장치에 따라 다릅니다.
결과 반환:
- Buffer, 스트림에서 읽은 데이터를 반환하며, 읽을 데이터가 없거나 연결이 중단된 경우 null이 반환됩니다.
readAll
스트림에서 나머지 데이터를 모두 읽습니다. 이 메서드는 해당 body 메서드의 별칭입니다.
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을 포함하는 값을 반환합니다.