This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import http from "http"; | |
import express from "express"; | |
const router = express(); | |
const { PORT = 3000 } = process.env; | |
const server = http.createServer(router); | |
server.listen(PORT, () => | |
console.log(`Server is running http://localhost:${PORT}...`) | |
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Router } from "express"; | |
import cors from "cors"; | |
import parser from "body-parser"; | |
import compression from "compression"; | |
export const handleCors = (router: Router) => | |
router.use(cors({ credentials: true, origin: true })); | |
export const handleBodyRequestParsing = (router: Router) => { | |
router.use(parser.urlencoded({ extended: true })); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { | |
handleCors, | |
handleBodyRequestParsing, | |
handleCompression | |
} from "./common"; | |
export default [handleCors, handleBodyRequestParsing, handleCompression]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Router } from "express"; | |
type Wrapper = ((router: Router) => void); | |
export const applyMiddleware = ( | |
middleware: Wrapper[], | |
router: Router | |
) => { | |
for (const f of middleware) { | |
f(router); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import http from "http"; | |
import express from "express"; | |
import { applyMiddleware } from "./utils"; | |
import middleware from "./middleware"; | |
const router = express(); | |
applyMiddleware(middleware, router); | |
const { PORT = 3000 } = process.env; | |
const server = http.createServer(router); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Request, Response } from "express"; | |
export default [ | |
{ | |
path: "/", | |
method: "get", | |
handler: async (req: Request, res: Response) => { | |
res.send("Hello world!"); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Router, Request, Response, NextFunction } from "express"; | |
type Wrapper = ((router: Router) => void); | |
export const applyMiddleware = ( | |
middlewareWrappers: Wrapper[], | |
router: Router | |
) => { | |
for (const wrapper of middlewareWrappers) { | |
wrapper(router); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Request, Response, NextFunction, Router } from "express"; | |
import { HTTPClientError, HTTP404Error } from "../utils/httpErrors"; | |
const handle404Error = (router: Router) => { | |
router.use((req: Request, res: Response) => { | |
throw new HTTP404Error("Method not found."); | |
}); | |
}; | |
const handleClientErrors = (router: Router) => { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import http from "http"; | |
import express from "express"; | |
import { applyMiddleware, applyRoutes } from "./utils"; | |
import middleware from "./middleware"; | |
import errorHandlers from "./middleware/errorHandlers"; | |
import routes from "./services"; | |
process.on("uncaughtException", e => { | |
console.log(e); | |
process.exit(1); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export class HTTP400Error extends HTTPClientError { | |
readonly statusCode = 400; | |
constructor(message: string | object = "Bad Request") { | |
super(message); | |
} | |
} | |
export class HTTP404Error extends HTTPClientError { | |
readonly statusCode = 404; |
OlderNewer