@blubox/gateway
Blubox API Gateway
Installation
npm i @blubox/gateway
Quick start
Install dependencies
npm install blubox @blubox/gateway
Create a Blubox application with Gateway
const { router, App } = require('blubox')
const gateway = require('@blubox/gateway')
const app = new App(
router({
'*': gateway([
{ from: '/users', to: 'http://localhost:3001/', replace: '/users' },
{ from: '/items', to: 'http://localhost:3002/', replace: '/items' },
]),
})
)
app.listen(3000)
gateway(options)
/**
* CORS OPTIONS
*
* @param {Object} [options]
* - {String|Function(url) => boolean} "from" where the request should come from to be redirected.
* - {String|Function(url) => string} "replace" which must be replaced from the pathname before being redirected. (optional)
* @return {Function} gateway controller
*
*/
gateway(options, controller)
You can optionally set a custom controller.
const { Controller } = require('blubox')
const controller = new Controller()
gateway({ ...options }, controller)