Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A framework for Webservices
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
LICENCE
README.md
index.js
package.json

README.md

ee-webservice

Webservice implementation with support for middleware

build status

Build Status

Usage

Constructor

var Webservice = require('ee-webservice');

var service = new Webservice({
      port:         13023
    , interface:    Webservice.IF_ANY
});

use method

Every middleware will be called with exactly 3 parameters:

  • request: request object of the ee-webserver
  • response: response object of the the ee-webserver
  • next: callback to be called for executing the next middleware

    // use a simple middleware for all hostnames not matched by a specific rule service.use(function(request, response, next){});

    // use a middleware which has a request method for all hostnames not matched by a specific rule service.use({request: function(request, response, next){}});

    // use a middleware for a single hostname service.use('joinbox.com', function(request, response, next){});

    // use a middleware for two absolute domain names and one with a wildcard subdomain service.use(['*joinbox.com', 'eventemitter.com', 'www.eventemitter.com'], function(request, response, next){});

    // use a middleware for all hostnames service.use('*', function(request, response, next){});

Interface Configurations

IF_PUBLIC: 1            // listen on all public interfaces
IF_PRIVATE: 2           // listen on all private interfaces ( RFC 1918, 192.168.x.y, 10.x.y.z, 172.16.x.y - 172.31.x.y, fc00:: )
IF_INTERNAL: 3          // lis§ten on localhost ( 127.0.0.1, ::1, fe80::1 )
IF_LOCAL: 4             // link local 169.254.1.x to 169.254.254.y, fe80::
IF_ANY: 5               // listen on any interface
IF_V4_PRIVATE: 10       // private v4 interfaces
IF_V6_PRIVATE: 20       // private v6 interfaces
IF_V4_INTERNAL: 11      // 127.0.0.1
IF_V6_INTERNAL: 21      // fc00::
IF_V4_PUBLIC: 12
IF_V6_PUBLIC: 22
IF_V4_LOCAL: 13         // §169.254.1.x to 169.254.254.y
IF_V6_LOCAL: 23         // fe80::
IF_V4_ANY: 14
IF_V6_ANY: 24
Something went wrong with that request. Please try again.