Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

rx-router

0.3.1 • Public • Published

Rx Router

A server http request router built with RxJS.

Example

var Rx           = require("rx");
var RxHttpServer = require("rx-http-server");
var router       = require("rx-router");
 
var defaultHandler = function(data) {
    data.result = "no match found";
    return Rx.Observable.fromArray([data]);
};
 
var rootHandler = function(data) {
    data.result = "hello from root";
    return Rx.Observable.fromArray([data]);
};
 
var regexHandler = function(data) {
    data.result = "hello from regex";
    return Rx.Observable.fromArray([data]);
};
 
var server = new RxHttpServer();
var routes = router(defaultHandler, {
    "GET": [
        ["/",           rootHandler],
        [/^\/test\/.+/, regexHandler]
    ]
});
 
server.requests.flatMap(routes).subscribe(function(data) {
    data.response.writeHead(200, {"Content-Type": "text/plain"});
    data.response.end(data.result);
});
 
server.listen(3000);

Keywords

none

install

npm i rx-router

Downloadsweekly downloads

8

version

0.3.1

license

none

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability