New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@alterior/express

Package Overview
Dependencies
Maintainers
1
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@alterior/express - npm Package Compare versions

Comparing version 3.4.1 to 3.5.0

20

dist.esm/express-engine.d.ts

@@ -1,22 +0,12 @@

/// <reference types="node" />
import express from "express";
import * as http from "http";
import { Logger } from '@alterior/logging';
import { WebEvent } from "@alterior/web-server";
import { WebServerEngine } from "@alterior/web-server";
import { WebServerOptions } from '@alterior/web-server';
export declare class ExpressEngine implements WebServerEngine {
private logger;
constructor(logger: Logger);
app: express.Application;
get providers(): any[];
sendJsonBody(routeEvent: WebEvent, body: any): void;
private readonly supportedMethods;
private getRegistrarName;
import express from "express";
export declare class ExpressEngine extends WebServerEngine {
readonly app: express.Application;
readonly providers: any[];
addConnectMiddleware(path: string, middleware: any): void;
listen(options: WebServerOptions): Promise<http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>>;
private log;
addRoute(method: string, path: string, handler: (event: WebEvent) => void, middleware?: any): void;
addAnyRoute(handler: (event: WebEvent) => void): void;
private getRegistrarName;
}
//# sourceMappingURL=express-engine.d.ts.map

@@ -1,121 +0,15 @@

import { __awaiter, __decorate, __metadata, __param } from "tslib";
import { __decorate } from "tslib";
import { Injectable } from '@alterior/di';
import { WebEvent } from "@alterior/web-server";
import { WebServerEngine } from "@alterior/web-server";
import express from "express";
import * as http from "http";
import * as https from "https";
import * as spdy from "spdy";
import { Logger } from '@alterior/logging';
import { Injectable, Optional } from '@alterior/di';
import { WebEvent } from "@alterior/web-server";
import { CertificateGenerator } from '@alterior/web-server';
let ExpressEngine = class ExpressEngine {
constructor(logger) {
this.logger = logger;
this.supportedMethods = [
"checkout", "copy", "delete", "get", "head", "lock", "merge",
"mkactivity", "mkcol", "move", "m-search", "notify", "options",
"patch", "post", "purge", "put", "report", "search", "subscribe",
"trace", "unlock", "unsubscribe",
];
let ExpressEngine = class ExpressEngine extends WebServerEngine {
constructor() {
super(...arguments);
this.app = express();
this.providers = [];
}
get providers() {
return [];
}
sendJsonBody(routeEvent, body) {
routeEvent.response.setHeader('Content-Type', 'application/json; charset=utf-8');
routeEvent.response.write(JSON.stringify(body));
routeEvent.response.end();
}
getRegistrarName(method) {
let registrar = method.toLowerCase();
if (!this.supportedMethods.includes(registrar))
throw new Error(`The specified method '${method}' is not supported by Express.`);
return registrar;
}
addConnectMiddleware(path, middleware) {
this.app.use(path, middleware);
}
listen(options) {
return __awaiter(this, void 0, void 0, function* () {
let server;
let protocols;
if (options.certificate)
protocols = ['h2', 'spdy/3.1', 'spdy/3', 'spdy/2', 'http/1.1', 'http/1.0'];
else
protocols = ['http/1.1', 'http/1.0'];
if (options.protocols)
protocols = options.protocols;
let spdyEnabled = protocols.some(x => x.startsWith('spdy/')) || protocols.includes('h2');
if (spdyEnabled && !options.certificate) {
this.log('info', `WebServer: Configured for HTTP2 but no certificates are provided. Generating self-signed certificates for testing...`);
let generator = new CertificateGenerator();
let certs = yield generator.generate([
{
name: 'commonName',
value: 'example.org'
}, {
name: 'countryName',
value: 'US'
}, {
shortName: 'ST',
value: 'Virginia'
}, {
name: 'localityName',
value: 'Blacksburg'
}, {
name: 'organizationName',
value: 'Test'
}, {
shortName: 'OU',
value: 'Test'
}
]);
options.certificate = certs.cert;
options.privateKey = certs.private;
}
if (options.certificate) {
if (spdyEnabled) {
server = spdy.createServer({
cert: options.certificate,
key: options.privateKey,
spdy: {
protocols: options.protocols
}
}, this.app);
}
else {
server = https.createServer({
cert: options.certificate,
key: options.privateKey
}, this.app);
}
}
else {
server = http.createServer(this.app);
}
this.log('info', `WebServer: Listening on port ${options.port}`);
server.listen(options.port);
server.on('upgrade', (req, socket, head) => {
let res = new http.ServerResponse(req);
req['__upgradeHead'] = head;
res.assignSocket(req.socket);
this.app(req, res);
});
return server;
});
}
log(severity, message) {
if (this.logger)
this.logger.log(message, { severity });
else if (severity === 'info')
console.info(message);
else if (severity === 'warning')
console.warn(message);
else if (severity === 'error' || severity === 'fatal')
console.error(message);
else if (severity === 'debug')
console.debug(message);
else
console.log(message);
}
addRoute(method, path, handler, middleware) {

@@ -129,9 +23,13 @@ if (!middleware)

}
getRegistrarName(method) {
let registrar = method.toLowerCase();
if (!this.supportedMethods.includes(registrar))
throw new Error(`The specified method '${method}' is not supported by Express.`);
return registrar;
}
};
ExpressEngine = __decorate([
Injectable(),
__param(0, Optional()),
__metadata("design:paramtypes", [Logger])
Injectable()
], ExpressEngine);
export { ExpressEngine };
//# sourceMappingURL=express-engine.js.map

@@ -1,22 +0,12 @@

/// <reference types="node" />
import express from "express";
import * as http from "http";
import { Logger } from '@alterior/logging';
import { WebEvent } from "@alterior/web-server";
import { WebServerEngine } from "@alterior/web-server";
import { WebServerOptions } from '@alterior/web-server';
export declare class ExpressEngine implements WebServerEngine {
private logger;
constructor(logger: Logger);
app: express.Application;
get providers(): any[];
sendJsonBody(routeEvent: WebEvent, body: any): void;
private readonly supportedMethods;
private getRegistrarName;
import express from "express";
export declare class ExpressEngine extends WebServerEngine {
readonly app: express.Application;
readonly providers: any[];
addConnectMiddleware(path: string, middleware: any): void;
listen(options: WebServerOptions): Promise<http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>>;
private log;
addRoute(method: string, path: string, handler: (event: WebEvent) => void, middleware?: any): void;
addAnyRoute(handler: (event: WebEvent) => void): void;
private getRegistrarName;
}
//# sourceMappingURL=express-engine.d.ts.map

@@ -5,121 +5,15 @@ "use strict";

const tslib_1 = require("tslib");
const express_1 = tslib_1.__importDefault(require("express"));
const http = tslib_1.__importStar(require("http"));
const https = tslib_1.__importStar(require("https"));
const spdy = tslib_1.__importStar(require("spdy"));
const logging_1 = require("@alterior/logging");
const di_1 = require("@alterior/di");
const web_server_1 = require("@alterior/web-server");
const web_server_2 = require("@alterior/web-server");
let ExpressEngine = class ExpressEngine {
constructor(logger) {
this.logger = logger;
this.supportedMethods = [
"checkout", "copy", "delete", "get", "head", "lock", "merge",
"mkactivity", "mkcol", "move", "m-search", "notify", "options",
"patch", "post", "purge", "put", "report", "search", "subscribe",
"trace", "unlock", "unsubscribe",
];
const express_1 = tslib_1.__importDefault(require("express"));
let ExpressEngine = class ExpressEngine extends web_server_2.WebServerEngine {
constructor() {
super(...arguments);
this.app = (0, express_1.default)();
this.providers = [];
}
get providers() {
return [];
}
sendJsonBody(routeEvent, body) {
routeEvent.response.setHeader('Content-Type', 'application/json; charset=utf-8');
routeEvent.response.write(JSON.stringify(body));
routeEvent.response.end();
}
getRegistrarName(method) {
let registrar = method.toLowerCase();
if (!this.supportedMethods.includes(registrar))
throw new Error(`The specified method '${method}' is not supported by Express.`);
return registrar;
}
addConnectMiddleware(path, middleware) {
this.app.use(path, middleware);
}
listen(options) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
let server;
let protocols;
if (options.certificate)
protocols = ['h2', 'spdy/3.1', 'spdy/3', 'spdy/2', 'http/1.1', 'http/1.0'];
else
protocols = ['http/1.1', 'http/1.0'];
if (options.protocols)
protocols = options.protocols;
let spdyEnabled = protocols.some(x => x.startsWith('spdy/')) || protocols.includes('h2');
if (spdyEnabled && !options.certificate) {
this.log('info', `WebServer: Configured for HTTP2 but no certificates are provided. Generating self-signed certificates for testing...`);
let generator = new web_server_2.CertificateGenerator();
let certs = yield generator.generate([
{
name: 'commonName',
value: 'example.org'
}, {
name: 'countryName',
value: 'US'
}, {
shortName: 'ST',
value: 'Virginia'
}, {
name: 'localityName',
value: 'Blacksburg'
}, {
name: 'organizationName',
value: 'Test'
}, {
shortName: 'OU',
value: 'Test'
}
]);
options.certificate = certs.cert;
options.privateKey = certs.private;
}
if (options.certificate) {
if (spdyEnabled) {
server = spdy.createServer({
cert: options.certificate,
key: options.privateKey,
spdy: {
protocols: options.protocols
}
}, this.app);
}
else {
server = https.createServer({
cert: options.certificate,
key: options.privateKey
}, this.app);
}
}
else {
server = http.createServer(this.app);
}
this.log('info', `WebServer: Listening on port ${options.port}`);
server.listen(options.port);
server.on('upgrade', (req, socket, head) => {
let res = new http.ServerResponse(req);
req['__upgradeHead'] = head;
res.assignSocket(req.socket);
this.app(req, res);
});
return server;
});
}
log(severity, message) {
if (this.logger)
this.logger.log(message, { severity });
else if (severity === 'info')
console.info(message);
else if (severity === 'warning')
console.warn(message);
else if (severity === 'error' || severity === 'fatal')
console.error(message);
else if (severity === 'debug')
console.debug(message);
else
console.log(message);
}
addRoute(method, path, handler, middleware) {

@@ -133,9 +27,13 @@ if (!middleware)

}
getRegistrarName(method) {
let registrar = method.toLowerCase();
if (!this.supportedMethods.includes(registrar))
throw new Error(`The specified method '${method}' is not supported by Express.`);
return registrar;
}
};
ExpressEngine = tslib_1.__decorate([
(0, di_1.Injectable)(),
tslib_1.__param(0, (0, di_1.Optional)()),
tslib_1.__metadata("design:paramtypes", [logging_1.Logger])
(0, di_1.Injectable)()
], ExpressEngine);
exports.ExpressEngine = ExpressEngine;
//# sourceMappingURL=express-engine.js.map
{
"name": "@alterior/express",
"version": "3.4.1",
"version": "3.5.0",
"description": "Access Express state within an Alterior app",

@@ -40,7 +40,6 @@ "author": "The Alterior Project (https://github.com/alterior-mvc)",

"dependencies": {
"@alterior/di": "^3.4.1",
"@alterior/logging": "^3.4.1",
"@alterior/web-server": "^3.4.1",
"express": "^4.17.3",
"spdy": "^4.0.2"
"@alterior/di": "^3.5.0",
"@alterior/logging": "^3.5.0",
"@alterior/web-server": "^3.5.0",
"express": "^4.17.3"
},

@@ -51,3 +50,3 @@ "devDependencies": {

},
"gitHead": "5de51ec91748dcfc2ebc5db648f59e0da154b347"
"gitHead": "1fb8fea8c8d957fe543f7b6f69ae99c6bcc20156"
}

@@ -1,152 +0,17 @@

import express from "express";
import * as http from "http";
import * as https from "https";
import * as net from "net";
import * as spdy from "spdy";
import { Logger, LogSeverity } from '@alterior/logging';
import { Injectable, Optional } from '@alterior/di';
import { Injectable } from '@alterior/di';
import { WebEvent } from "@alterior/web-server";
import { WebServerEngine } from "@alterior/web-server";
import { WebServerOptions } from '@alterior/web-server';
import { CertificateGenerator } from '@alterior/web-server';
import express from "express";
@Injectable()
export class ExpressEngine implements WebServerEngine {
constructor(
@Optional() private logger : Logger
) {
this.app = express();
}
app : express.Application;
export class ExpressEngine extends WebServerEngine {
readonly app: express.Application = express();
readonly providers = [];
get providers() {
return [];
}
sendJsonBody(routeEvent : WebEvent, body : any) {
routeEvent.response.setHeader('Content-Type', 'application/json; charset=utf-8');
routeEvent.response.write(JSON.stringify(body))
routeEvent.response.end();
}
private readonly supportedMethods = [
"checkout", "copy", "delete", "get", "head", "lock", "merge",
"mkactivity", "mkcol", "move", "m-search", "notify", "options",
"patch", "post", "purge", "put", "report", "search", "subscribe",
"trace", "unlock", "unsubscribe",
];
private getRegistrarName(method : string) {
let registrar = method.toLowerCase();
if (!this.supportedMethods.includes(registrar))
throw new Error(`The specified method '${method}' is not supported by Express.`);
return registrar;
}
addConnectMiddleware(path : string, middleware : any) {
addConnectMiddleware(path: string, middleware: any) {
this.app.use(path, middleware);
}
async listen(options : WebServerOptions) {
let server : http.Server;
type Protocol = 'h2'
| 'spdy/3.1'
| 'spdy/3'
| 'spdy/2'
| 'http/1.1'
| 'http/1.0';
let protocols : Protocol[];
if (options.certificate)
protocols = ['h2', 'spdy/3.1', 'spdy/3', 'spdy/2', 'http/1.1', 'http/1.0'];
else
protocols = ['http/1.1', 'http/1.0'];
if (options.protocols)
protocols = options.protocols;
let spdyEnabled = protocols.some(x => x.startsWith('spdy/')) || protocols.includes('h2');
if (spdyEnabled && !options.certificate) {
this.log('info', `WebServer: Configured for HTTP2 but no certificates are provided. Generating self-signed certificates for testing...`);
let generator = new CertificateGenerator();
let certs = await generator.generate([
{
name: 'commonName',
value: 'example.org'
}, {
name: 'countryName',
value: 'US'
}, {
shortName: 'ST',
value: 'Virginia'
}, {
name: 'localityName',
value: 'Blacksburg'
}, {
name: 'organizationName',
value: 'Test'
}, {
shortName: 'OU',
value: 'Test'
}
]);
options.certificate = certs.cert;
options.privateKey = certs.private;
}
if (options.certificate) {
if (spdyEnabled) {
server = spdy.createServer({
cert: options.certificate,
key: options.privateKey,
spdy: {
protocols: options.protocols
}
}, this.app);
} else {
server = <http.Server><unknown>https.createServer({
cert: options.certificate,
key: options.privateKey
}, this.app);
}
} else {
server = http.createServer(this.app);
}
this.log('info', `WebServer: Listening on port ${options.port}`);
server.listen(options.port);
server.on('upgrade', (req : http.IncomingMessage, socket : net.Socket, head : Buffer) => {
let res = new http.ServerResponse(req);
req['__upgradeHead'] = head;
res.assignSocket(req.socket);
this.app(req, res);
});
return server;
}
private log(severity : LogSeverity, message : string) {
if (this.logger)
this.logger.log(message, { severity });
else if (severity === 'info')
console.info(message);
else if (severity === 'warning')
console.warn(message);
else if (severity === 'error' || severity === 'fatal')
console.error(message);
else if (severity === 'debug')
console.debug(message);
else
console.log(message);
}
addRoute(method : string, path : string, handler : (event : WebEvent) => void, middleware?) {
addRoute(method: string, path: string, handler: (event: WebEvent) => void, middleware?) {
if (!middleware)

@@ -161,5 +26,14 @@ middleware = [];

addAnyRoute(handler : (event : WebEvent) => void) {
addAnyRoute(handler: (event: WebEvent) => void) {
this.app.use((req, res) => handler(new WebEvent(req, res)));
}
private getRegistrarName(method: string) {
let registrar = method.toLowerCase();
if (!this.supportedMethods.includes(registrar))
throw new Error(`The specified method '${method}' is not supported by Express.`);
return registrar;
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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