Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@dynacom/core

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dynacom/core

* HTTP * HTTPS

  • 1.1.15
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

DynaCom Core Library

A simple library for creating servers

Implemented

  • HTTP
  • HTTPS

Installation

npm install @dynacom/core

Examples

HTTP Example

The following example will create a basic HTTP server that creates a server and handles a connection to http://localhost:80

const { Server, Domain, Route } = require('@dynacom/core');

let httpServer = new Server({
		name: 'Test Server',
		protocol: 'http',
		autoRestart: true,
		threads: 1
	})
	.addDomain(
		new Domain('localhost')
		.route(
			new Route('/world', ['post', 'get'], (request, response, returnObject) => {
				response.end('Hello world');
			})
		)
	)
	.listen(80);
HTTPS Example

The following example will create a basic HTTPS Server.

Domain.setCerts() will set the certificate for the domain. A default key and certificate must be provided to the Config.SecureContext parameter.

SecureRedirect is a helper method that automatically redirects all incoming connections to HTTPS.

const { Server, Domain, Route, SecureRedirect } = require('@dynacom/core');

let httpsServer = new Server({
		name: 'Test HTTPS Server',
		protocol: 'http',
		autoRestart: true,
		threads: 1,
		SecureContext: {
			"key":"...key file path",
			"cert":"...cert file path"
		}
	})
	.addDomain(
		new Domain('localhost')
		.setCerts(
			{
				"key":"...key file path",
				"cert":"...cert file path"
			}
		)
		.route(
			new Route('/world', ['post', 'get'], (request, response, returnObject) => {
				response.end('Hello world');
			})
		)
	)
	.listen(443);

let httpServer = new Server({
		name: 'Test HTTP Server',
		protocol: 'http',
		autoRestart: true,
		threads: 1
	})
	.addDomain(
		new Domain('localhost', SecureRedirect)
	)
	.listen(80);
Route Chaining Example

The first matched route in the list is used as a pairing when processing a request. Sometimes, however, you may require this route to be passed and another route in the chain to be used.

The following provides an example on how to process the next matching route in the chain.

When hitting http://localhost/world/now the server will respond with "Hello world". Hitting http://localhost/world/next would cause the server to reroute to the next active match and respond with "Hello new world".

const { Server, Domain, Route } = require('@dynacom/core');

let httpServer = new Server({
		name: 'Test Server',
		protocol: 'http',
		autoRestart: true,
		threads: 1
	})
	.addDomain(
		new Domain('localhost')
		.route(
			new Route('/world(*)', ['post', 'get'], (request, response, returnObject) => {
				if ('/next' == request.pattern.route['_']){
					return request.reroute(request.index.route, request.url.path, request, response);
				} else {
					response.end('Hello world');
				}
			})
		)
		.route(
			new Route('/world/next', ['post', 'get'], (request, response, returnObject) => {
				response.end('Hello new world');
			})
		)
	)
	.listen(80);

FAQs

Package last updated on 09 Oct 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc