rxwebserver
Fast, purist, observables-based web framework for node.
Installation
Installation is performed using the
npm install
command:
$ npm install @rxwebserver/core
Usage
ES6
Hello World using rxwebserver in ES6.
import { switchMap } from 'rxjs/operators';
import { createHandler, rxwebserver } from '@rxwebserver/core';
import { filterMethods, filterRoute, withBody } from '@rxwebserver/core/operators';
import { ok } from '@rxwebserver/core/responses';
const handler = createHandler(
filterRoute('/'),
filterMethods('GET'),
switchMap(() => ok()),
withBody('Hello World!')
);
rxwebserver(handler).listen(3600, () => console.log('Listening on: 3600'));
CommonJS
Hello World using rxwebserver in CommonJS.
(Note: destructuring available in Node 8+)
const { switchMap } = require('rxjs/operators');
const { rxwebserver, createHandler } = require('@rxwebserver/core');
const { filterRoute, withBody, filterMethods } = require('@rxwebserver/core/operators');
const { ok } = require('@rxwebserver/core/responses');
const handler = createHandler(
filterRoute('/'),
filterMethods('GET'),
switchMap(() => ok()),
withBody('Hello World!')
);
rxwebserver(handler).listen(3600, () => console.log('Listening on: 3600'));
Philosophy
While there are already a few similar projects out there, the configuration of those frameworks relies on a mixture of observables and traditional imperative programming. rxwebserver provides an uncompromising, fully observable-based web framework that is configured entirely through one pipe.