Nectar of the Programming Masses

    node-adapter

    1.0.11 • Public • Published

    Http Adapter logo

    Build Status Coverage Status Codacy Badge codebeat badge Version Version License

    Introduction

    A lightweight and extensible HTTP adapter, editable HTTP server, Webhook transformation, request relay platform.

    Just route, filter, validate, transform, relay and response your HTTP requests.

    Setup your HTTP server in 3 minutes by a few YAML configurations and a few TS/JS code snippets. Especially suitable for:

    • HTTP adapter, such as transform one Webhook request to another
    • Request relay, it could be HTTP proxy for another server
    • Mock server, it could be a mock server for development
    • Dynamic HTTP interface, as BFF(backend for frontend) or API Gateway

    Demo

    todo

    Features

    • Dynamic request routing by configuration files, configurable and extensible runtime environment
    • Easy to use YAML configuration files and GUI. Extremely convenient for request transformation
    • Dynamic business logic based on dynamic Typescript/ECMAScript code and Templates
    • Out of box Prometheus Metrics API and REST API for management
    • Perfect Scalability with Docker and Kubernetes
    • Great Performance since dynamic functions are compiled AOT (Ahead-of-Time)
    • Plugin development make complex business logic being configured dynamically

    Architecture

    Quick Start

    Install

    # by Docker (Recommended) 
    docker run --restart always -p 3000:3000 -d --name http-adapter code2life/http-adapter:v2
    # by Docker, mount CONF_PATH 
    docker run --restart always -p 3000:3000 -d -e CONF_PATH=/conf -v /conf:/conf --name http-adapter code2life/http-adapter:v2
     
    # by Kubernetes 
    kubectl apply -f https://raw.githubusercontent.com/Code2Life/http-adapter/master/build/kubernetes/deployment.yaml
    kubectl apply -f https://raw.githubusercontent.com/Code2Life/http-adapter/master/build/kubernetes/service.yaml
     
    # by NPM (Requires Node > v8.0.0) 
    npm install -g node-adapter-cli
    http-adapter
     
    # to see all available arguments 
    http-adapter --help

    Configuration Example

    todo

    Plugins

    todo

    Todo

    • pre-installed config examples, and downloaded by cli
    • HTTP2.0 HTTPS support
    • More storage types support
    • document template grammar, and allow separate template file
    • configure UI and REST interface, configure watch
    • mixin plugin / marketplace system, and plugin development, application version control
    • routing incoming websocket message
    • further logging / tracing / monitoring / metrics, eliminate console.log
    • transform to more forms of outbound message, such as RPC Call, MQ Publishing

    Install

    npm i node-adapter

    DownloadsWeekly Downloads

    1

    Version

    1.0.11

    License

    Apache-2.0

    Unpacked Size

    868 kB

    Total Files

    365

    Last publish

    Collaborators

    • code2life