2.0.1 • Published 8 months ago

@ajayos/server v2.0.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
8 months ago

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.

@ajayos/Server

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.