freon

Fast server-side web framework

Example

const Freon = require ( ' freon ' ) ; const app = new Freon . Application ( [ ' example.com ' , / . + \. example \. com / ] ) ; app . onGet ( / \/ . + \. html / , ( req , res ) => { } ) ;

API

const Freon = require ( ' freon ' ) ;

See the Application docs

Plugins

Plugins are trivial to create for freon. For example, a plugin that injects a property foo into the request object and sets it to 'bar' :

module . exports = ( req , res , next ) => { req . foo = ' bar ' ; next ( ) ; }

Note that it is vital to call next() when the plugin is finished loading. If any plugin does not call next() , then the server will halt when it is requested, waiting for that plugin to load, which it never will.

To load this plugin:

const app = new Freon . application ( [ ' example.com ' ] ) ; app . plugin ( require ( ' ./fooBarPlugin.js ' ) ) ;

static

Use Freon.static to serve a static folder. It will be compressed using gzip and deflate , send the Last-Modified header, and send 304 status codes without a body when possible. If the file is not found in the directory, it will then pass on the request to the next handlers.

const app = new Freon . application ( [ ' example.com ' ] ) ; app . plugin ( Freon . static ( ' someRandomDir/theDirToServeWebFilesFrom ' ) ) ;

Other useful plugins

You may find these plugins useful:

Freon will overwrite the request and response object. See the properties and methods that are added:

Request Object

Response Object