httpapijs
v1.0.1
Published
Simple API for http server on NodeJS
Downloads
1
Readme
httpapijs
Simple api for http server.
Content
GitHub.
Install.
npm install httpapijs --save
or
npm install httpapijs --save-dev
- Usage.
Import
ServerAPI
form package:
import ServerAPI from 'httpapijs';
Also you can import utilities getContentType
and getStatusText
:
import { getContentType, getStatusText } from 'httpapijs';
or
import ServerAPI, { getContentType, getStatusText } from 'httpapijs';
ServerAPI
import ServerAPI from 'httpapijs';
ServerAPI
- class of main server api. It may be costructed with two arguments:
- {number} [port = 80] - listening port.
- string} [root = __dirname] - root dirrectory of content.
ServerAPI.on
- method to set handlers, adds start handler and handlers for request's types. It calls with two parameters:
- {string} type - type of event. Available start event emits at server's starting and lowercased names of request's events.
- {function} handler - event handler. All events but start get request and response objects as arguments, start event does not get any arguments.
You can set only one handler for each event. If you call on method with same event's name, only last handler will be set. But you can update it.
ServerAPI.up
- method to fire server.
getContentType
import { getContentType} from 'httpapijs';
getContentType
returns default Content-Type header by mime. This method has only one argument:
- {string} [mime = '.html'] - file's mime type.
getStatusText
Also you can import utilities getContentType
and getStatusText
:
import { getContentType } from 'httpapijs';
getStatusText
returns humanreadable status by it's code. It has argument:
- {number | string} code - statuses code.
Example
import ServerAPI, { getContentType, getStatusText } from './index';
const server = new ServerAPI(8084, __dirname);
server.on('start', () => console.log('HELLO!'));
server.on('get', (request, response) => {
response.statusCode = 200;
response.statusMessage = getStatusText(200);
response.setHeader('Content-Type', getContentType('txt'));
response.setHeader('Content-length', 'Hello!'.length);
response.end('Hello!');
});
server.up();
License
MIT Copyright (c) 2017 Kuznetsov Leonid.