객체 내장 객체

객체 라우팅

메시지 핸들러 라우팅 객체

라우팅 객체는 http 메시지 처리의 핵심 객체, 서버는 라우팅 설정에 따라 일치 url 그리고 방법, 그리고 http 메시지는 다른 트랜잭션을 완료하기 위해 해당 프로세서로 전달됩니다.

간단한 경로는 다음과 같은 JSON 개체 형식으로 직접 제공할 수 있습니다.

1 2 3 4 5 6 7 8
var http = require('http'); var svr = new http.Server(8080, { '/': r => r.response.write('home'), '/help': r => r.response.write('help') }); svr.start();

더 복잡한 라우팅 사용자 지정이 필요한 경우 라우팅 개체를 직접 만들고 필요에 따라 라우팅 전략을 처리할 수 있습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
var http = require('http'); var mq = require('mq'); var app = new mq.Routing(); app.get('/', r => r.response.write('home')); app.get('/help', r => r.response.write('help')); app.post('/help', r => r.response.write('post a help.')); app.get('/home/:user', (r, user) => r.response.write('hello ' + user)); app.get('/user/:id(\\d+)', (r, id) => r.response.write('get ' + id)); app.get('/actions', { '/run': r => r.response.write('running'), '/sleep': r => r.response.write('sleeping'), '(.*)': r => r.response.write('........') }); var svr = new http.Server(8080, app); svr.start();

라우팅 개체는 설정된 규칙에 따라 메시지를 일치시키고 규칙을 충족하는 첫 번째 프로세서에 메시지를 전달합니다. 나중에 추가된 라우팅 규칙이 먼저 일치됩니다. 생성 방법:

1 2 3 4
var routing = new mq.Routing({ "^/func1(/.*)$": func1, "^/func2(/.*)$": func2 });

정규식과 일치하는 항목은 메시지의 값 속성을 수정하고 하위 항목은 메시지의 params 속성에 저장됩니다. 예:

1 2 3
var routing = new mq.Routing({ "^/func1(/([0-9]+)/([0-9]+)\.html)$": func1, });

"/func1/123/456.html" 메시지 일치 후, 값 == "/123/456.html", params == ["123", "456"];

일치하는 결과에 자식이 없으면 값이 비어 있고 params가 비어 있습니다. 예:

1 2 3
var routing = new mq.Routing({ "^/func1/[0-9]+/[0-9]+\.html$": func1, });

"/func1/123/456.html" 메시지 일치 후 값 == "", params == [];

일치하는 결과의 첫 번째 수준에 여러 하위 항목이 있는 경우 값은 비어 있고 params는 첫 번째 수준의 하위 항목입니다. 예:

1 2 3
var routing = new mq.Routing({ "^/func1/([0-9]+)/([0-9]+)\.html$": func1, });

"/func1/123/456.html" 메시지 일치 후, 값 == "", params == ["123", "456"];

일치하는 결과에 하위 항목이 하나만 있고 하위 항목이 없는 경우 값과 매개변수가 모두 이 하위 항목입니다. 예:

1 2 3
var routing = new mq.Routing({ "^/func1/([0-9]+)/[0-9]+\.html$": func1, });

"/func1/123/456.html" 메시지 일치 후, 값 == "123", params == ["123"];

계승

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Handler|new Handler()|invoke()] [<this>Routing|new Routing()|append();host();all();get();post();del();put();patch();find()] [object] <:- [Handler] [Handler] <:- [Routing] Handler new Handler() invoke() Routing new Routing() append() host() all() get() post() del() put() patch() find() object toString() toJSON()

건설자

Routing

메시지 처리기 라우팅 개체 만들기

1
new Routing(Object map = {});

호출 매개변수:

  • map: 객체, 라우팅 매개변수 초기화

메시지 처리기 라우팅 개체 만들기

1 2
new Routing(String method, Object map);

호출 매개변수:

  • method: 문자열, 지정 http 요청 메소드 "*"는 모든 메소드를 허용합니다.
  • map: 객체, 라우팅 매개변수 초기화

멤버 함수

append

기존 경로 개체에서 규칙을 추가하면 추가 후 원래 경로가 지워집니다.

1
Routing Routing.append(Routing route);

호출 매개변수:

  • route: Routing, 초기화된 라우팅 객체

반환 결과:

  • Routing, 경로 객체 자체를 반환

라우팅 규칙 세트 추가

1
Routing Routing.append(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

라우팅 규칙 추가

1 2
Routing Routing.append(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

라우팅 규칙 추가

1 2 3
Routing Routing.append(String method, String pattern, Handler hdlr);

호출 매개변수:

  • method: 문자열, 지정 http 요청 방법 "*"은 모든 방법을 허용하고 "호스트"는 가상 도메인 이름을 지정합니다.
  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

host

그룹 추가 http 도메인 이름 라우팅 규칙

1
Routing Routing.host(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

수락 추가 http 도메인 이름 라우팅 규칙

1 2
Routing Routing.host(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

all

모두 수락할 그룹 추가 http 메소드 라우팅 규칙

1
Routing Routing.all(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

하나 추가 모두 수락 http 메소드 라우팅 규칙

1 2
Routing Routing.all(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

get

GET 메소드 라우팅 규칙 세트 추가

1
Routing Routing.get(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

수락 추가 http GET 메서드 라우팅 규칙

1 2
Routing Routing.get(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

post

수락할 그룹 추가 http POST 메서드 라우팅 규칙

1
Routing Routing.post(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

수락 추가 http POST 메서드 라우팅 규칙

1 2
Routing Routing.post(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

del

수락할 그룹 추가 http DELETE 메소드 라우팅 규칙

1
Routing Routing.del(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

수락 추가 http DELETE 메소드 라우팅 규칙

1 2
Routing Routing.del(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

put

PUT 메소드 라우팅 규칙 세트 추가

1
Routing Routing.put(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

수락 추가 http PUT 메소드 라우팅 규칙

1 2
Routing Routing.put(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

patch

PATCH 메소드 라우팅 규칙 세트 추가

1
Routing Routing.patch(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

수락 추가 http PATCH 메서드 라우팅 규칙

1 2
Routing Routing.patch(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

find

FIND 메소드 라우팅 규칙 세트 추가

1
Routing Routing.find(Object map);

호출 매개변수:

  • map: 개체, 라우팅 매개변수

반환 결과:

  • Routing, 경로 객체 자체를 반환

수락 추가 http FIND 메서드 라우팅 규칙

1 2
Routing Routing.find(String pattern, Handler hdlr);

호출 매개변수:

  • pattern: 문자열, 메시지 매칭 포맷
  • hdlr: Handler, 내장 메시지 프로세서, 처리 기능, 체인 처리 배열, 라우팅 개체, 세부 정보 보기 mq.Handler

반환 결과:

  • Routing, 경로 객체 자체를 반환

invoke

메시지 또는 개체 처리

1
Handler Routing.invoke(object v) async;

호출 매개변수:

  • v: object, 처리할 메시지 또는 개체 지정

반환 결과:

  • Handler, 다음 프로세서로 돌아가기

toString

개체의 문자열 표현을 반환하고 일반적으로 "[네이티브 개체]"를 반환하며 개체는 고유한 특성에 따라 다시 구현할 수 있습니다.

1
String Routing.toString();

반환 결과:

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

toJSON

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

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

호출 매개변수:

  • key: 문자열, 미사용

반환 결과:

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