UNPKG

neweb

Version:

[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] [![Coverage percentage][coveralls-image]][coveralls-url] [![experimental](http://badges.github.io/stability-badges/dist/ex

36 lines (35 loc) 1.24 kB
import express = require("express"); import { Server } from "neweb-server"; export interface IExpressHttpHandler { app: express.Express; server: Server; } class ExpressHttpHandler { constructor(protected config: IExpressHttpHandler) { } public handle: express.RequestHandler = async (req: express.Request, res: express.Response, next) => { // try { const server = this.config.server; const response = await server.resolveRequest({ url: req.url, sessionId: (req.session as Express.Session).id, headers: req.headers as any, }); Object.keys(response.headers).map((key) => { res.header(key, response.headers[key]); }); if (response.type === "NotFound") { next(); return; } if (response.type === "Redirect") { res.status(301).send(response.body); return; } res.send(response.body); /*} catch (e) { res.status(500).send(env === "development" ? (e.toString() + "\n" + e.stack).replace(/\n/gi, "<br />") : "Unknown error"); }*/ } } export default ExpressHttpHandler;