New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

http-fantasy-land

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

http-fantasy-land

[![Build Status](https://travis-ci.org/spudly/http-fantasy-land.svg?branch=master)](https://travis-ci.org/spudly/http-fantasy-land) [![eh?](https://codecov.io/gh/spudly/http-fantasy-land/branch/master/graph/badge.svg)](https://codecov.io/gh/spudly/http-fa

latest
Source
npmnpm
Version
3.0.0
Version published
Weekly downloads
7
75%
Maintainers
1
Weekly downloads
 
Created
Source

[WIP] http-fantasy-land

Build Status eh?

A web server library that allows you to create your server using functional concepts.

Getting Started

npm install --save http-fantasy-land
import {listen, get} from 'http-fantasy-land';

const home = (response, request) => ({
  ...response,
  statusCode: 200,
  body: 'It works!',
});

const router = composeRoutes(
  get('/', home),
);

listen(router, {port: 8080}).then(stop => {
  console.log('Listening @ http://localhost:8080');
});

API

route functions

A route is a function that, given a request object and a response object, returns a new response (or a promise that resolves to one).

[TODO: elaborate]

request

The request object is serialized, immutable representation of an http.IncomingMessage object.

{
  method: String,
  url: String,
  headers: {
    [key: String]: String,
  },
}

response

The response object is a serialized, immutable representation of an http.ServerResponse object.

{
  status: Number,
  body: String|Stream,
  headers: {
    [key: String]: String,
  },
}

listen

listen :: ((Object, Object) -> Object, Object) -> Promise<() -> void>

Description: Creates and starts a http/https server using the supplied route and options. Returns a promise that resolves to a stop() function.

Arguments
route :: (Object, Object) -> Object
A Route function. Accepts a response object and a request object. Returns a new response object.
options :: Object

Server Configuration Options. Accepts port, hostname, and backlog from http.listen, as well as any option accepted by https.createServer

See the links above for detailed descriptions of each option.

Return Value: Function - A function that stops the server.

Example:
listen(route, {port: 8080}).then(stop => {
  console.log('Listening @ http://localhost:8080');
  setTimeout(() => {
    stop();
    console.log('Server stopped!');
  }, 500);
});

composeRoutes(...routes) => route

sendFile(file) => route

setHeader(name)(value) => route

get('/path', route) => route

head('/path', route) => route

post('/path', route) => route

put('/path', route) => route

del('/path', route) => route

connect('/path', route) => route

options('/path', route) => route

trace('/path', route) => route

patch('/path', route) => route

Compatibility

[TODO: document usage w/ express/connect/etc.]

FAQs

Package last updated on 09 Jun 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts