Skip to content

Spioune/feathers-cf-rest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

❗ This transport is very experimental. Use with caution.

feathers-cf-rest

Download Status

feathers-cf-rest is a feathers transport for Cloudflare Workers.
It exposes your feathers services as a RESTful API.

$ npm i feathers-cf-rest

Example

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

License

Copyright (c) 2021

Licensed under the MIT license.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published