Experimental work-in-progress some-batteries-included on('fetch')
HTTP
server framework designed and optimized for
Cloudflare Workers
Originally written as a tech demo in 2018 back when CF workers was still in beta and there was no official tooling available. Nowadays you might at least consider using wrangler instead of the not-well-tested-but-mostly-works-for-me-on-mac CLI bundled with bliss.
npm i --save bliss-router
bliss
uses a config file, usually bliss.config.js
in the current working
directory in order to describe the code and data segments of your application.
The syntax is:
bliss.config.js
let {text, secret} = require("bliss-router/assets")
module.exports = {
// this _should_ be a local file path instead but no judgement :)
"code": "addEventListener('fetch', ev => ev.respondWith(new Response('hello world')))",
"bindings": {
"AWS_ACCESS_KEY_ID": {
"type": "plain_text",
"text": "AKIAIOSFODNN7EXAMPLE"
},
// you can also use the helper functions from `bliss-router/bindings` to generate these objects
"AWS_SECRET_ACCESS_KEY": secret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"),
"AWS_REGION": text("us-east-1")
}
}
With your config file correctly configured, you can then deploy your worker locally (by default on port 8080):
cd /path/to/your/folder/containing/bliss.config.js
npx bliss-router
For more options, see the CLI spec or run
npx bliss-router --help