@adt-it/express-tools

toolbox for express boilerplate functions

Usage no npm install needed!

<script type="module">
  import adtItExpressTools from 'https://cdn.skypack.dev/@adt-it/express-tools';
</script>

README

express-tools

toolbox for express boilerplate functions

Including

var expressTools = require('@adt-it/express-tools');

Usage

Table of Contents

httpSuccess

Class httpSuccess to be catched and return a standard json reply with code.

Parameters

  • data
  • code
  • object data to be returned
  • integer http status code

httpError

Class httpError to be catched and return a standard json reply with code.

Parameters

  • msg
  • code
  • string error message
  • integer http status code

protectedProxy

Sets req.clientIp to given ip address. Then it looks for req.headers['x-forwarded-for-key'] header and compares it to given proxy Password. If Strings match it sets req.clientIp to req.headers['x-forwared-for'].

Parameters

  • xForwarededForKey
  • string xForwarededForKey private key the proxy server sets so x-forwarded-for-key can't be spoofed

Returns Function app.use() function

httpStatusHandler

Catches all http Classes and generates the reply

Parameters

  • err
  • req
  • res
  • next

Returns Function app.use() function

genericErrorHandler

Catches all uncatched errors. Logs them to console.error and replys with standard json

Parameters

  • err
  • req
  • res
  • next

Returns Function app.use() function

routes

Provides multiple standard routes. /time returns httpSuccess with {time: unixTimestamp} /v returns httpSuccess object with information about versions, host and client

standardRoutes

Sets all standard Routes defined in module.routes

Parameters

  • app

Returns app

requiredHeaders

Checks if all required headers are present

Parameters

  • requiredHeaders array array with headers that are required. throws 404 httpError when a header is missing.

Returns Function app.use() function

protectedProxy

Sets req.clientIp to given ip address. Then it looks for req.headers['x-forwarded-for-key'] header and compares it to given proxy Password. If Strings match it sets req.clientIp to req.headers['x-forwared-for'].

Parameters

  • xForwarededForKey
  • string xForwarededForKey private key the proxy server sets so x-forwarded-for-key can't be spoofed

Returns Function app.use() function

httpError

Class httpError to be catched and return a standard json reply with code.

Parameters

  • string error message
  • integer error code (used as http status code)

httpErrorHandler

Catches all uncatched errors. Logs them to console.error and replys with standard json

Parameters

  • err
  • req
  • res
  • next

Returns Function app.use() function

genericErrorHandler

Catches all uncatched errors. Logs them to console.error and replys with standard json

Parameters

  • err
  • req
  • res
  • next

Returns Function app.use() function