API Reference v9.3.4

Complete documentation of all methods and properties available in Novaxjs2 version 9.3.4.

Core Methods

Method Description Example
get(path, ...handlers) Define GET route with optional middleware app.get('/', authMiddleware, (req, res) => {...})
post(path, ...handlers) Define POST route with optional middleware app.post('/users', validateUser, (req, res) => {...})
put(path, ...handlers) Define PUT route with optional middleware app.put('/users/:id', authMiddleware, (req, res) => {...})
delete(path, ...handlers) Define DELETE route with optional middleware app.delete('/users/:id', authMiddleware, (req, res) => {...})
group(prefix, callback) Group routes under a common prefix app.group('/api', ({ get, post }) => {
  get('/users', handler);
  post('/users', handler);
})
at(port, host, callback) Start server on specified port app.at(3000, 'localhost', () => {...})
on(status, handler) Custom error handler for specific status codes app.on(404, () => 'Not found')
init(options) Initialize app with configuration options app.init({ staticPath: 'public', minifier: true })
useRouter(router) Use a router module or function app.useRouter(userRouter);
app.useRouter(require('./routes/api'));

Middleware Methods

Method Description Example
useMiddleware(fn) Add standard middleware app.useMiddleware((req, res, next) => {...})
useErrorMiddleware(fn) Add error middleware app.useErrorMiddleware((err, req, res, next) => {...})
serveStatic(dir) Serve static files from directory app.serveStatic('public')

Configuration Methods

Method Description Example
cors(options) Configure CORS settings app.cors({ origins: ['*'] })
setFileSizeLimit(mb) Set file upload size limit app.setFileSizeLimit(50)
setFileConfig(config) Configure multiple file upload settings app.setFileConfig({ maxSize: 10, allowedTypes: ['image/*'] })
setAllowedFileTypes(types) Set allowed MIME types for uploads app.setAllowedFileTypes(['image/jpeg', 'image/png'])
setMaxFiles(max) Set maximum number of files per upload app.setMaxFiles(5)
setKeepOriginalName(keep) Set whether to keep original filenames app.setKeepOriginalName(true)
style(css) Set global CSS styles app.style = 'body { color: red }'
js(script) Set global JavaScript app.js = 'console.log("Hello")'

Request Object

Property Description Type
req.method HTTP method (GET, POST, etc.) String
req.url Request URL String
req.query Parsed query parameters Object
req.params Route parameters Object
req.body Parsed request body Object
req.files Uploaded files Object
req.protocol Request protocol (http/https) String
req.fullUrl Complete request URL String
req.ip Client IP address String
req.headers Request headers Object
req.cookies Parsed cookies Object

Response Methods

Method Description Example
res.status(code) Set HTTP status code res.status(404)
res.json(data) Send JSON response res.json({ success: true })
res.redirect(url) Redirect to URL res.redirect('/home')
res.send(content, contentType) Send raw content with optional content type res.send('Hello World', 'text/plain')
res.set(headers) Set multiple headers res.set({ 'X-Custom': 'value' })
res.cookie(name, value, options) Set cookie res.cookie('token', 'abc123', { maxAge: 900000 })
res.clearCookie(name, options) Clear cookie res.clearCookie('token')
res.sendFile(filePath, contentTypeOrRes, res) Send file to client app.sendFile('/path/to/file.html', 'text/html', res)

Plugin System

Method Description Example
usePlugin(plugin, options) Extend framework functionality with plugins app.usePlugin(myPlugin, { config: true })

View Engine Methods

Method Description Example
setViewEngine(engine, options) Configure template engine app.setViewEngine('novax', { viewsPath: './views' })
render(file, data) Render template with data await app.render('home', { title: 'Home' })
addHelper(name, fn) Add template helper function app.addHelper('formatDate', (date) => {...})
addHelpers(helpers) Add multiple template helpers app.addHelpers({ helper1: fn1, helper2: fn2 })

Content Minification Methods

Method Description Example
minifyContent(content) Minify HTML content app.minifyContent(htmlString)
minifyCSS(css) Minify CSS content app.minifyCSS(cssString)
minifyJs(js) Minify JavaScript content app.minifyJs(jsString)

New in v9.3.4

Feature Description Example
req.cookies Automatic cookie parsing const token = req.cookies.token;
res.cookie() Set cookies with options res.cookie('user', 'john', { httpOnly: true });
res.clearCookie() Clear cookies res.clearCookie('session');
Enhanced Templating New @ syntax for templates @if(user) Welcome @user.name! @end
Improved Error Handling Better error messages and stack traces app.on(500, (err) => `Error: ${err.message}`);