0.0.1 • Published 6 years ago

@botorjs/server v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

Server

Build Status Coverage Status

Library that of Botorjs is server

Installation

npm install @botorjs/server --save

Setup and Example

    import { EventBus } from "@botorjs/event-bus";
    import { Boot, TypeContainer } from "@botorjs/boot";
    import { Context, Server, HandlerServer } from "@botorjs/server";

    export class BaseHandler extends HandlerServer {

        public prioritize = 2;

        // @ts-ignore
        handler(context: Context, next: Function) {
            console.log("method request", context.req.method.toLowerCase());
            if(context.req.method.toLowerCase() == 'post') {
                context.res.write("norton");
                console.log("result norton", context.req.url, context.req.method);
                context.res.end();
            }
            next();
        }
    }

    export class BaseHandlerTwo extends HandlerServer {

        public prioritize = 3;
        
        public handler(context: Context, next: Function) {
            context.res.write("test_data");
            console.log("result test_data", context.req.url, context.req.method);
            next();
        }
    }


    const app = new Boot();
    app.ioc.singleton(EventBus.name, EventBus);
    app.ioc.bind("HttpContext", Context, TypeContainer.Contant);
    var server: Server = new Server(app, {
        handlers: [BaseHandlerTwo, BaseHandler],
        host: "localhost",
        port: 8080
    });
    server.register();
    server.listen(() => {
        console.log("start server");
    });

API

Server

PropertyDescription
register()register handder
listen(callback)listen server
getServer()get server
setServer(httpInstance: http.Server)sersetInstance
close(callback)close server

Context

  • data connext of Server
PropertyDescription
req: IncomingMessagerequest
res: ServerResponseresponse
isFinish()check finish request

if need extends method of Context, i can use getter, with Context extends to macroable

HandlerServer

  • handler Server
PropertyDescription
event_namename event of handler
prioritizeprioritize of handler, server will sort with prioritize
handlerfuncion handle

ServerConfig

  • config Server
PropertyDescription
hosthost server
portport server
handlerslist handler is class extends to HandlerServer