Socket
Socket
Sign inDemoInstall

@orion-js/http

Package Overview
Dependencies
Maintainers
2
Versions
76
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@orion-js/http - npm Package Compare versions

Comparing version 3.0.0-alpha.14 to 3.0.0-alpha.15

lib/index.test.d.ts

9

lib/index.d.ts

@@ -8,3 +8,10 @@ import { setOnError, onError } from './errors';

import registerRoutes from './routes/registerRoutes';
export { express, startServer, getApp, getViewer, setGetViewer, setOnError, onError, route, registerRoute, registerRoutes };
import { json, raw, text, urlencoded } from 'body-parser';
declare const bodyParser: {
json: typeof json;
raw: typeof raw;
text: typeof text;
urlencoded: typeof urlencoded;
};
export { express, startServer, getApp, getViewer, setGetViewer, setOnError, onError, route, registerRoute, registerRoutes, bodyParser };
export * from './types';

5

lib/index.js

@@ -16,3 +16,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.registerRoutes = exports.registerRoute = exports.route = exports.onError = exports.setOnError = exports.setGetViewer = exports.getViewer = exports.getApp = exports.startServer = exports.express = void 0;
exports.bodyParser = exports.registerRoutes = exports.registerRoute = exports.route = exports.onError = exports.setOnError = exports.setGetViewer = exports.getViewer = exports.getApp = exports.startServer = exports.express = void 0;
const errors_1 = require("./errors");

@@ -35,2 +35,5 @@ Object.defineProperty(exports, "setOnError", { enumerable: true, get: function () { return errors_1.setOnError; } });

exports.registerRoutes = registerRoutes_1.default;
const body_parser_1 = require("body-parser");
const bodyParser = { json: body_parser_1.json, raw: body_parser_1.raw, text: body_parser_1.text, urlencoded: body_parser_1.urlencoded };
exports.bodyParser = bodyParser;
__exportStar(require("./types"), exports);

@@ -1,2 +0,2 @@

import { OrionRoute } from '../types';
export default function registerRoute(route: OrionRoute): void;
import { Route } from '../types';
export default function registerRoute(route: Route): void;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const viewer_1 = require("./../viewer");
const start_1 = require("./../start");
const errors_1 = require("../errors");
const executeRequest_1 = require("./executeRequest");
const body_parser_1 = require("body-parser");
function registerRoute(route) {
const app = (0, start_1.getApp)();
const method = route.method;
const expressMethod = app[method];
expressMethod(route.path, async (req, res) => {
try {
const viewer = await (0, viewer_1.getViewer)(req);
await route.resolve(req, res, viewer);
}
catch (error) {
await (0, errors_1.onError)(req, res, error);
}
});
const handler = async (req, res) => {
(0, executeRequest_1.executeRequest)(route, req, res);
};
const handlers = [handler];
if (route.bodyParser) {
const parsers = { json: body_parser_1.json, raw: body_parser_1.raw, text: body_parser_1.text, urlencoded: body_parser_1.urlencoded };
const parser = parsers[route.bodyParser](route.bodyParserOptions);
handlers.unshift(parser);
}
if (route.middlewares) {
handlers.unshift(...route.middlewares);
}
app[method](route.path, ...handlers);
}
exports.default = registerRoute;

@@ -1,6 +0,6 @@

import { OrionRoute } from '../types';
import { Route } from '../types';
interface OrionRoutesMap {
[key: string]: OrionRoute;
[key: string]: Route;
}
export default function registerRoutes(routesMap: OrionRoutesMap): void;
export {};

@@ -1,2 +0,2 @@

import { OrionRoute, OrionRouteOptions } from '../types';
export default function route(options: OrionRouteOptions): OrionRoute;
import { Route, OrionRouteOptions } from '../types';
export default function route(options: OrionRouteOptions): Route;
/// <reference types="express-serve-static-core" />
import express from 'express';
export declare const startServer: () => express.Express;
export declare const startServer: (port?: number) => express.Express;
export declare const getApp: () => express.Express;

@@ -9,5 +9,4 @@ "use strict";

const appRef = {};
const startServer = () => {
const startServer = (port = Number(process.env.PORT)) => {
const app = (0, exports.getApp)();
const port = process.env.PORT || 3000;
app.listen(port);

@@ -14,0 +13,0 @@ return app;

import express from 'express';
import * as bodyParser from 'body-parser';
export interface RouteResponse {
statusCode?: number;
headers?: {
[key: string]: string;
};
body?: object;
}
export interface OrionRouteOptions {
method: 'get' | 'post' | 'put' | 'delete';
path: string;
resolve: (req: express.Request, res: express.Response, viewer: any) => Promise<any>;
/**
* Select the body parser to use for this route.
*/
bodyParser?: 'json' | 'text' | 'urlencoded';
/**
* Selected body parser options.
*/
bodyParserOptions?: bodyParser.OptionsJson | bodyParser.OptionsText | bodyParser.OptionsUrlencoded;
/**
* Add a middleware to the route.
* See https://expressjs.com/en/4x/api.html#middleware
* for more information.
*/
middlewares?: Array<express.RequestHandler>;
resolve: (req: express.Request, res: express.Response, viewer: any) => Promise<RouteResponse> | Promise<void>;
}
export interface OrionRoute extends OrionRouteOptions {
export interface Route extends OrionRouteOptions {
}
{
"name": "@orion-js/http",
"version": "3.0.0-alpha.14",
"version": "3.0.0-alpha.15",
"main": "lib/index.js",

@@ -12,3 +12,3 @@ "types": "lib/index.d.ts",

"scripts": {
"test": "exit 0",
"test": "jest",
"prepare": "yarn run build",

@@ -23,2 +23,3 @@ "clean": "rm -rf ./lib",

"@orion-js/schema": "^3.0.0-alpha.13",
"body-parser": "1.19.0",
"express": "4.17.1"

@@ -28,6 +29,10 @@ },

"@shelf/jest-mongodb": "^2.1.0",
"@types/body-parser": "^1.19.1",
"@types/express": "4.17.13",
"@types/jest": "^27.0.2",
"@types/lodash": "4.14.176",
"@types/supertest": "2.0.11",
"jest": "27.3.1",
"superagent": "^6.1.0",
"supertest": "^6.1.6",
"ts-jest": "27.0.7",

@@ -39,3 +44,3 @@ "typescript": "^4.4.4"

},
"gitHead": "56474f6e628e58af391fb2dd8728abcaa6888655"
"gitHead": "15fe91d4439b3bd5d04d12931a344d6c49d09375"
}
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