New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

orator

Package Overview
Dependencies
Maintainers
2
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

orator

Unopinionated API http server abstraction - REST or IPC

latest
Source
npmnpm
Version
6.0.4
Version published
Weekly downloads
1.7K
-27.41%
Maintainers
2
Weekly downloads
 
Created
Source

Orator

An unopinionated API server abstraction for REST and IPC services

Orator is not an attempt to reinvent the wheel. Nor do we want to make a car with five of them. Orator is a thin abstraction layer over service server implementations (like Restify), providing a consistent interface for building API servers. You can spin up a web server in a single simple line, and configuration is managed through a consistent JSON format -- so as you begin to have 10 or 15 or 5,000 microservices, you don't have a bunch of boilerplate API server code laying around.

Features

  • Unopinionated Design - Wraps any service server implementation through a consistent interface
  • REST and IPC - Full HTTP server support via Restify, or in-process IPC for testing and microservice composition
  • Lifecycle Management - Before/After hooks for initialization and service start phases
  • Static File Serving - Built-in static file serving with subdomain-based folder routing
  • Fable Integration - First-class service provider in the Fable ecosystem with logging and configuration
  • Browser & Node.js - Works in both environments with automatic service server selection

Quick Start

const libFable = require('fable');
const libOrator = require('orator');
const libOratorServiceServerRestify = require('orator-serviceserver-restify');

const _Fable = new libFable({
	Product: 'MyAPIServer',
	ProductVersion: '1.0.0',
	ServicePort: 8080
});

_Fable.serviceManager.addServiceType('Orator', libOrator);
_Fable.serviceManager.addServiceType('OratorServiceServer', libOratorServiceServerRestify);
_Fable.serviceManager.instantiateServiceProvider('Orator');
_Fable.serviceManager.instantiateServiceProvider('OratorServiceServer');

_Fable.Orator.serviceServer.get('/hello/:name',
	(pRequest, pResponse, fNext) =>
	{
		pResponse.send({ greeting: `Hello ${pRequest.params.name}!` });
		return fNext();
	});

_Fable.Orator.startService(
	() =>
	{
		console.log('Server is running on port 8080');
	});

Installation

npm install orator

Configuration

SettingTypeDefaultDescription
Productstring"Unnamed_Service"Application name identifier
ProductVersionstring"0.0.1"Application version string
ServicePortnumber8080Port for the service server to listen on
APIServerPortnumber-Legacy alias for ServicePort (automatically migrated)
RestifyConfigurationobject{}Configuration passed to Restify when using the Restify service server

Documentation

Full documentation is available in the docs folder, or served locally:

npx docsify-cli serve docs

License

MIT

Contributing

Pull requests are welcome. For details on our code of conduct, contribution process, and testing requirements, see the Retold Contributing Guide.

Keywords

rest

FAQs

Package last updated on 05 Mar 2026

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