saasify-faas-proxy v1.20.0
saasify-faas-proxy
Customizable FaaS proxy which can be deployed in front of a Saasify FaaS.
Install
npm install --save saasify-faas-proxy
Intro
This package is meant for advanced customization of Saasify FaaS where you want to hide the Saasify API in your own white-labeled API endpoints.
As an example, instead of your API users's referencing: https://ssfy.sh/username/project/servicePath
, you could have them reference https://myapi.io/servicePath
.
This is useful for two main reasons:
- It's shorter than the default Saasify FaaS URLs.
- It doesn't reference Saasify at all so your API can stay on-brand.
It also allows you to add additional custom servicePath
transformations like forwarding https://myapi.io
to some default service https://ssfy.sh/username/project/defaultServicePath
.
Koa
This package requires you to use Koa, but it should be easy to convert the logic to work with other Node.js webservers.
Usage
This example forwards all requests to the default faasUrl
(https://ssfy.sh
), without changing the URL path
.
const Koa = require('koa')
const proxy = require('saasify-faas-proxy')
const app = new Koa()
app.use(proxy())
app.listen(3000)
This example forwards all requests to the default faasUrl
(https://ssfy.sh
), prefixing the URL path
via our deployment's identifier foo/hello-world
.
In this example, foo
would be the username and hello-world
would be the project name. The deployment version would implicitly be the latest
published version.
const Koa = require('koa')
const proxy = require('saasify-faas-proxy')
const app = new Koa()
app.use(
proxy({
getPath: (ctx) => `foo/hello-world/${ctx.req.path}`
})
)
app.listen(3000)
API
getSaasifyFaasProxy
Koa proxy middleware meant for easily setting up custom API proxies in front of Saasify.
By default, opts.getPath = (ctx) => ctx.req.path
which uses the incoming request's path
as the target path without any transforms.
opts
object? Config options.
Related
- saasify - Saasify is the easiest way to launch your own SaaS.
License
MIT © Saasify