X-Easy

This is a simple way to raise a server in Node.JS.
Module installation
npm install x-easy --save
// or
yarn add x-easy
Using Example
Simple start file
require('x-easy')
XEasy.createApplication('myApp', {
port: 3000,
enableWebsocket: false,
enableSession: false
secureKeys: {
key: './keyFile.key',
cert: './certFile.crt',
ca: ['./ca1.crt', './ca2.crt']
requestCert: false,
rejectUnauthorized: false
}
})
.addModule('data')
.addModule('config')
.addModule('routes')
.addModule('websocket')
.join('chat')
.start()
The loadModule function is used to instantiate objects in the application by passing it in the constructor.
{
'data': 'something else',
'viewEngine': 'pug',
'viewEnginePath': 'pages'
}
module.exports = class Config {
constructor(app, modules) {
app.callStop = () => {
}
app.addProcessMessageListener((channel, data) => {
})
app.setParameterHash('pwd')
app.setParameterHash(
'password',
{
seed: 'secret',
loop: 5
}
)
app.setParameterHash('user.password')
app.setPublic('public')
app.setViewEngine(modules.data.viewEngine)
app.setViewPath(modules.data.viewEnginePath)
app.addUploadURLPermission('/upload')
}
}
module.exports = class Routes {
constructor(modules, app) {
app.get('/', function(req, res) {
app.sendProcessMessage(
'chat',
{ foo: 'foo' }
)
app.sendAppProcessMessage({ foo: 'foo' } )
res.end('test ok - ' + req.query.test)
})
app.post('/upload', (req, res) => {
res.end('file upload success')
})
}
}
const URL = require('url')
module.exports = class WebSocket {
constructor(wss) {
wss.on('request', req => {
if(false) req.reject()
const client = req.accept()
conn.on('message', msg => {
}
conn.on('close', () => {
})
})
}
}
The websocket api documentation is located on this link
Constructor Parameters
server
app
name
worker
wss || websocketServer || wsServer
modules
digest