Skip to content

Azure Functions adapter for Hono. Run Hono on Azure Functions.

License

Notifications You must be signed in to change notification settings

Marplex/hono-azurefunc-adapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hono-azurefunc-adapter

Azure Functions V4 adapter for Hono. Run Hono on Azure Functions.


License NPM NPM Downloads Github

Install

npm i @marplex/hono-azurefunc-adapter

Getting started

The adapter exposes an handler that converts between standard web Request/Response (used by Hono) and HttpRequest/HttpResponse (used by Azure Functions). This handler is then called by the function http trigger.

//app.ts

import { Hono } from "hono";
const app = new Hono();

...

export default app
//httpTrigger.ts

import honoApp from "./app";

import { azureHonoHandler } from "@marplex/hono-azurefunc-adapter";
import { app } from "@azure/functions";

app.http("httpTrigger", {
  methods: [
    "GET",
    "POST",
    "DELETE",
    "HEAD",
    "PATCH",
    "PUT",
    "OPTIONS",
    "TRACE",
    "CONNECT",
  ],
  authLevel: "anonymous",
  route: "{*proxy}",
  handler: azureHonoHandler(honoApp.fetch),
});

Limitations

There are some limitations and other things you should keep in mind when running Hono inside Azure Functions.

Route Prefix

The default Azure Functions route prefix is /api. Be sure to start all your Hono routes with /api or change the default Azure Functions route prefix in host.json

{
    "extensions": {
        "http": {
            "routePrefix": ""
        }
    }
}

Crypto

In Node <=18 environments, if you are using hono/bearer-auth or any other library that uses crypto, be sure to define global.crypto = require("crypto"); before registering the http trigger.

Request signal

Azure Functions does not expose any signal or event for listening to http request interruptions. c.req.raw.signal is useless and its never aborted.

Untested scenarios

  • SSE (streaming response)

About

Azure Functions adapter for Hono. Run Hono on Azure Functions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published