Fast server-side web framework
const Freon = require('freon');
const app = new Freon.Application(['example.com', /.+\.example\.com/]);
app.onGet(/\/.+\.html/, (req, res) => {
// Server code..
});const Freon = require('freon');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':
// fooBarPlugin.js
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:
// server.js
const app = new Freon.application(['example.com']);
app.plugin(require('./fooBarPlugin.js'));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'));You may find these plugins useful:
Freon will overwrite the request and response object. See the properties and methods that are added:
