@rxwebserver/core

0.3.0 • Public • Published

rxwebserver

Fast, purist, observables-based web framework for node.

npm version Build Status Coverage Status

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.

Package Sidebar

Install

npm i @rxwebserver/core

Weekly Downloads

2

Version

0.3.0

License

ISC

Unpacked Size

16.2 kB

Total Files

26

Last publish

Collaborators

  • slillis