Node.js does not have a built-in Web Standard HTTP server, so an adapter is required. The toNodeHandler function converts the Web Standard handler to work with Node's http.createServer.
import { createServer } from 'node:http'
import { feathers } from 'feathers'
import { createHandler } from 'feathers/http'
import { toNodeHandler } from 'feathers/http/node'
const app = feathers()
app.use('messages', {
async find() {
return [{ id: 1, text: 'Hello world' }]
}
})
const handler = createHandler(app)
const server = createServer(toNodeHandler(handler))
server.listen(3030, () => {
console.log('Server running on http://localhost:3030')
})
// Call app.setup to initialize all services
await app.setup(server)
toNodeHandler(handler) converts a Web Standard (Request) => Promise<Response> handler to Node's (IncomingMessage, ServerResponse) => void signature.
import { toNodeHandler } from 'feathers/http/node'
const nodeHandler = toNodeHandler(handler)
This adapter:
IncomingMessage to a Web Standard RequestResponse back to Node's ServerResponse