❗ This transport is very experimental. Use with caution.
feathers-cf-rest is a feathers transport for Cloudflare Workers.
It exposes your feathers services as a RESTful API.
$ npm i feathers-cf-rest
Here is an example of a Feathers application running on Cloudflare Workers with a dummy messages
service:
$ npm i @feathersjs/feathers@pre feathers-cf-rest itty-router
In index.mjs
:
import { Router } from 'itty-router'
import app from './feathers.mjs'
const router = Router()
router.all('*', app.handle)
router.all('*', (request, env) => {
return new Response('Not found', { status: 404 })
})
export default {
fetch: router.handle,
}
In feathers.mjs
:
import feathers from '@feathersjs/feathers'
import rest from 'feathers-cf-rest'
const app = feathers()
app.configure(rest)
app.use('messages', {
messages = [],
find(){
return this.messages
},
create(data){
this.messages.push(data)
return data
}
})
export default app
To test your app in development, I recommend using Miniflare since Wrangler CLI does not yet support Durable Objects.
$ miniflare --watch --debug
You should now be able to navigate to http://localhost:8787/messages to see the messages list.
To create a new message, simply make a HTTP POST request to http://localhost:8787/messages
You can publish your app to Cloudflare Workers.
$ wrangler publish
Copyright (c) 2021
Licensed under the MIT license.