@ajayos/server
v2.0.1
Published
A powerful and flexible HTTP server package built on top of Express, providing various server functionalities and utilities.
Downloads
157
Maintainers
Readme
EXPRESS SERVER
Express-based HTTP server, handles server-related functionalities like starting and stopping the server, retrieving host information, getting active network interfaces, and formatting memory usage, with usage of environment variables for configuration.
This package is a powerful and flexible HTTP server built on top of Express, offering various server functionalities and utilities for developers.
Installation
npm install @ajayos/server
Quick Start
Basic Usage
Here’s a quick example to get your server up and running:
const { SERVER } = require('@ajayos/server'); // Import the server package
const app = new SERVER({
port: 3000, // PORT
}); // Create a new server instance
// Define a route for the root URL
app.get('/', async (req, res) => {
res.send('Hello World'); // Send a simple response
});
// Define another route
app.get('/hey', async (req, res) => {
res.json({ data: 'hello world' }); // Respond with JSON data
});
// Start the server
app.start(); // Call the start method to begin listening
Here’s a more comprehensive example showcasing various functionalities:
const { SERVER } = require('@ajayos/server'); // Import the server package
const app = new SERVER({
port: 3000,
}); // Create a new server instance
// Middleware to log requests
app.use((req, res, next) => {
app.log(`${req.method} request for '${req.url}'`);
next(); // Call the next middleware or route handler
});
// Define routes
app.get('/', async (req, res) => {
res.send('Welcome to the Express Server!'); // Send a welcome message
});
// Start the server with error handling
app
.start()
.then(() => app.log(`Server running on port ${app.port}`))
.catch(err => app.log('Failed to start server: ' + err, 'error'));
Features
- Easy Setup: Quick configuration with minimal setup.
- Custom Routing: Supports GET, POST, PUT, and DELETE methods for routing.
- Host Information: Easily retrieve host information and active network interfaces.
- Server Management: Handle server startup and graceful shutdown processes.
Example
Additional example of how to use the package can be found in the example file.
const app = express();
use with
app.app
Documentation
View documentation on API
License
This package is open-source and available under the Apache-2.0 License. Feel free to use, modify, and distribute it as you see fit.