Newline Pending Merge

    sernite

    0.9.8 • Public • Published

    SERNITE

    npm Codacy Badge NPM

    Sernite is a higher level web framework for more modular and serverless-like server-side scripting.

    Table of Contents

    Installation

    Use the npm to install sernite.

    $ npm install -g sernite

    Getting Started

    cd /my/projects/folder # open your favorite project folder 
    $ mkdir hello_world && cd hello_world # create a folder and open it 
    $ sernite init  # initialize sernite 
    $ sernite run  

    For more detailed tutorial, visit webpage

    Concepts

    • ### Scripts

      Sernite scripts are handlers that invoked in sub-processes when their assigned request arrived at the Sernite server. \ scripts can be assigned from sernite.json file

       
      // Other configurations..
      "scripts" : [
        {
          "url" : "/echo/:message",
          "path":"scripts/echo.js",
          "params":[
            "url:message",
            "amazingParam"
          ],
          "methods": ["GET"]
        }
      ]
      // Other configurations..
       

      echo.js will be invoked when a GET /echo/:message request arrived. In sernite scripts, there are two special global variables

      • params : an array contains all parsed parameters. In example; for GET /echo/hello request, params array looks like that ['hello','amazingParam']

      • done : a function that finalize the process with or without an error

        Sernite scripts must import a function with two paramaters:

      • send : sends your message to web client through stdout

      • nitmsg : sends your query to the nit and waits for its response and returns

        // scripts/echo.js
        // for GET /echo/hi
        module.exports = async function(send,nitmsg){
          let message = params[0] // hi
          send(message) // send to client `hi`
        }

    • ### Nits Nit is a just simple node.js module that exports a function which has two parameters and returns a response.

      module.exports = async function(query){
        let resp = "";
        //some processes...
        return resp;
      }

    Upcoming Features

    • Multiple language support for sernite scripts. considering:
      • Go
      • Python
      • Haskel
      • Lua
      • Java

    Contributing

    Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

    Please make sure to update tests as appropriate.

    forthebadge

    Install

    npm i sernite

    DownloadsWeekly Downloads

    11

    Version

    0.9.8

    License

    MIT

    Unpacked Size

    32.5 kB

    Total Files

    34

    Last publish

    Collaborators

    • ahmetcanozcan