객체 내장 객체

객체Http요청

HttpRequest는 HTTP 요청을 처리하는 데 사용되는 클래스로, 이를 통해 HTTP 요청을 생성하고 서버와 상호 작용할 수 있습니다. 이를 사용하여 GET, POST 및 기타 유형의 HTTP 요청을 웹 서버에 보낼 수 있습니다.

키 이름이 포함된 쿼리 매개변수가 있고 이 매개변수를 기반으로 다양한 처리 결과를 반환한다고 가정합니다. 매개변수가 비어 있으면 "Hello world!"를 반환하고 매개변수가 "fibjs"이면 "Hello fibjs!"를 반환합니다. 그렇지 않으면 "Hello some body!"를 반환합니다.

코드는 다음과 같이 구현됩니다.

1 2 3 4 5 6 7 8 9 10
const 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 객체를 생성합니다.

1
new HttpRequest();

끊임없는

TEXT

텍스트 유형을 나타내는 메시지 유형 1을 지정합니다.

1
const HttpRequest.TEXT = 1;

BINARY

바이너리 유형을 나타내는 메시지 유형 2를 지정합니다.

1
const HttpRequest.BINARY = 2;

구성원 속성

response

HttpResponse, 응답 메시지 객체를 가져옵니다

1
readonly HttpResponse HttpRequest.response;

method

문자열, 쿼리 및 집합 요청 방법

1
String HttpRequest.method;

address

문자열, 쿼리 및 요청 주소 설정

1
String HttpRequest.address;

queryString

문자열, 쿼리 및 요청 쿼리 문자열 설정

1
String HttpRequest.queryString;

cookies

HttpCollection, 메시지 쿠키가 포함된 컨테이너를 가져옵니다.

1
readonly HttpCollection HttpRequest.cookies;

form

HttpCollection, 메시지 양식이 포함된 컨테이너를 가져옵니다.

1
readonly HttpCollection HttpRequest.form;

query

HttpCollection, 메시지 쿼리가 포함된 컨테이너를 가져옵니다.

1
readonly HttpCollection HttpRequest.query;

protocol

문자열, 프로토콜 버전 정보, 허용되는 형식은 HTTP/#.#입니다.

1
String HttpRequest.protocol;

headers

HttpCollection, 메시지에 포함됨http메시지 헤더용 컨테이너, 읽기 전용 속성

1
readonly HttpCollection HttpRequest.headers;

keepAlive

Boolean, 연결 유지 여부를 쿼리하고 설정합니다.

1
Boolean HttpRequest.keepAlive;

upgrade

업그레이드 프로토콜인지 여부를 부울, 쿼리 및 설정

1
Boolean HttpRequest.upgrade;

maxHeadersCount

정수, 요청 헤더의 최대 수를 쿼리하고 설정합니다. 기본값은 128입니다.

1
Integer HttpRequest.maxHeadersCount;

maxHeaderSize

정수, 쿼리 및 최대 요청 헤더 길이 설정, 기본값은 8192

1
Integer HttpRequest.maxHeaderSize;

maxBodySize

정수, 쿼리 및 최대 본문 크기(MB) 설정, 기본값은 64

1
Integer HttpRequest.maxBodySize;

socket

Stream, 현재 객체의 소스 소켓을 쿼리합니다.

1
readonly Stream HttpRequest.socket;

value

문자열, 메시지의 기본 내용

1
String HttpRequest.value;

params

NArray, 메시지의 기본 매개변수

1
readonly NArray HttpRequest.params;

type

정수, 메시지 유형

1
Integer HttpRequest.type;

data

값은 메시지의 데이터를 쿼리합니다. 이 속성은 콘텐츠 유형에 따라 다른 데이터를 반환합니다. 텍스트인 경우 텍스트를 반환합니다.json돌아올 때json, 그렇지 않으면 바이너리를 반환합니다.

1
readonly Value HttpRequest.data;

body

SeekableStream, 메시지의 데이터 부분을 포함하는 스트림 객체

1
SeekableStream HttpRequest.body;

length

Long, 메시지 데이터 부분의 길이

1
readonly Long HttpRequest.length;

stream

Stream, readFrom 메시지를 쿼리할 때의 스트림 객체

1
readonly Stream HttpRequest.stream;

lastError

문자열, 쿼리 및 메시지 처리의 마지막 오류 설정

1
String HttpRequest.lastError;

멤버 함수

hasHeader

지정된 키 값을 가진 메시지 헤더가 있는지 확인

1
Boolean HttpRequest.hasHeader(String name);

호출 매개변수:

  • name: 문자열, 확인할 키 값을 지정합니다.

결과 반환:

  • Boolean, 키 값이 존재하는지 여부를 반환합니다.

firstHeader

지정된 키 값의 첫 번째 메시지 헤더를 쿼리합니다.

1
String HttpRequest.firstHeader(String name);

호출 매개변수:

  • name: 문자열, 쿼리할 키 값을 지정합니다.

결과 반환:

  • String, 키 값에 해당하는 값을 반환하고, 존재하지 않으면 정의되지 않음을 반환합니다.

allHeader

지정된 키 값의 모든 메시지 헤더를 쿼리합니다.

1
NObject HttpRequest.allHeader(String name = "");

호출 매개변수:

  • name: 문자열, 쿼리할 키 값을 지정하고, 빈 문자열을 전달하여 모든 키 값의 결과를 반환합니다.

결과 반환:

  • NObject, 키 값에 해당하는 모든 값의 배열을 반환하며, 데이터가 존재하지 않으면 null을 반환합니다.

addHeader

메시지 헤더를 추가하고, 데이터를 추가하고, 기존 키 값의 메시지 헤더를 수정하지 마세요.

1
HttpRequest.addHeader(Object map);

호출 매개변수:

  • map: 객체, 추가할 키-값 데이터 사전을 지정합니다.

지정된 이름을 가진 헤더 세트를 추가합니다. 데이터를 추가해도 기존 키 값의 헤더는 수정되지 않습니다.

1 2
HttpRequest.addHeader(String name, Array values);

호출 매개변수:

  • name: 문자열, 추가할 키 값을 지정합니다.
  • values: 배열, 추가할 데이터 세트를 지정합니다.

메시지 헤더를 추가하고, 데이터를 추가하고, 기존 키 값의 메시지 헤더를 수정하지 마세요.

1 2
HttpRequest.addHeader(String name, String value);

호출 매개변수:

  • name: 문자열, 추가할 키 값을 지정합니다.
  • value: 문자열, 추가할 데이터를 지정합니다.

setHeader

메시지 헤더 설정 데이터를 설정하면 키 값에 해당하는 첫 번째 값이 수정되고 동일한 키 값을 가진 나머지 메시지 헤더가 지워집니다.

1
HttpRequest.setHeader(Object map);

호출 매개변수:

  • map: 객체, 설정할 키-값 데이터 사전을 지정합니다.

지정된 이름으로 메시지 헤더 집합을 설정합니다. 데이터를 설정하면 키 값에 해당하는 값이 수정되고 동일한 키 값을 가진 나머지 메시지 헤더가 지워집니다.

1 2
HttpRequest.setHeader(String name, Array values);

호출 매개변수:

  • name: 문자열, 설정할 키 값을 지정합니다.
  • values: 배열, 설정할 데이터 세트를 지정합니다.

메시지 헤더 설정 데이터를 설정하면 키 값에 해당하는 첫 번째 값이 수정되고 동일한 키 값을 가진 나머지 메시지 헤더가 지워집니다.

1 2
HttpRequest.setHeader(String name, String value);

호출 매개변수:

  • name: 문자열, 설정할 키 값을 지정합니다.
  • value: 문자열, 설정할 데이터를 지정합니다.

removeHeader

지정된 키 값을 가진 모든 메시지 헤더 삭제

1
HttpRequest.removeHeader(String name);

호출 매개변수:

  • name: 문자열, 삭제할 키 값을 지정합니다.

read

스트림에서 지정된 크기의 데이터를 읽습니다. 이 메서드는 해당 body 메서드의 별칭입니다.

1
Buffer HttpRequest.read(Integer bytes = -1) async;

호출 매개변수:

  • bytes: 정수, 읽을 데이터의 양을 지정합니다. 기본값은 임의 크기의 데이터 블록을 읽는 것입니다. 읽는 데이터의 크기는 장치에 따라 다릅니다.

결과 반환:

  • Buffer, 스트림에서 읽은 데이터를 반환하며, 읽을 데이터가 없거나 연결이 중단된 경우 null이 반환됩니다.

readAll

스트림에서 나머지 데이터를 모두 읽습니다. 이 메서드는 해당 body 메서드의 별칭입니다.

1
Buffer HttpRequest.readAll() async;

결과 반환:

  • Buffer, 스트림에서 읽은 데이터를 반환하며, 읽을 데이터가 없거나 연결이 중단된 경우 null이 반환됩니다.

write

주어진 데이터를 작성합니다. 이 메소드는 해당 메소드의 별명입니다.

1
HttpRequest.write(Buffer data) async;

호출 매개변수:

  • data:Buffer, 기록할 데이터가 주어지면

json

주어진 데이터를 JSON 인코딩으로 작성합니다.

1
Value HttpRequest.json(Value data);

호출 매개변수:

  • data: 기록할 데이터에 따른 값

결과 반환:

  • Value, 이 메서드는 데이터를 반환하지 않습니다.

메시지의 데이터를 JSON 인코딩으로 구문 분석합니다.

1
Value HttpRequest.json();

결과 반환:

  • Value, 구문 분석된 결과를 반환합니다.

pack

~에 의해msgpack인코딩은 주어진 데이터를 씁니다.

1
Value HttpRequest.pack(Value data);

호출 매개변수:

  • data: 기록할 데이터에 따른 값

결과 반환:

  • Value, 이 메서드는 데이터를 반환하지 않습니다.

~에 의해msgpack메시지의 데이터 인코딩 및 구문 분석

1
Value HttpRequest.pack();

결과 반환:

  • Value, 구문 분석된 결과를 반환합니다.

end

현재 메시지 처리의 종료를 설정하고,Chain프로세서는 후속 트랜잭션을 계속하지 않습니다.

1
HttpRequest.end();

isEnded

현재 메시지가 종료되었는지 쿼리

1
Boolean HttpRequest.isEnded();

결과 반환:

  • Boolean, 완료되면 true를 반환합니다.

clear

메시지 내용 지우기

1
HttpRequest.clear();

sendTo

지정된 스트림 객체에 형식화된 메시지를 보냅니다.

1
HttpRequest.sendTo(Stream stm) async;

호출 매개변수:

  • stm:Stream, 형식화된 메시지를 수신하는 스트림 개체를 지정합니다.

readFrom

지정된 캐시 스트림 개체에서 형식화된 메시지를 읽고 채워진 개체를 구문 분석합니다.

1
HttpRequest.readFrom(Stream stm) async;

호출 매개변수:

  • stm:Stream, 형식화된 메시지를 읽기 위한 스트림 개체를 지정합니다.

toString

객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.

1
String HttpRequest.toString();

결과 반환:

  • String, 객체의 문자열 표현을 반환합니다.

toJSON

객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.

1
Value HttpRequest.toJSON(String key = "");

호출 매개변수:

  • key: 문자열, 사용되지 않음

결과 반환:

  • Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.