Aller au contenu

Utilitaire Adapter ​

L’utilitaire Adapter permet d’interagir facilement avec différentes plateformes au moyen d’une interface unifiée.

Importation ​

ts
import { Hono } from 'hono'
import { env, getRuntimeKey } from 'hono/adapter'

env() ​

La fonction env() facilite la récupération des variables d’environnement dans différents environnements d’exécution, au-delà des seules liaisons de Cloudflare Workers. Les valeurs accessibles avec env(c) peuvent varier d’un environnement d’exécution à l’autre.

ts
import { env } from 'hono/adapter'

app.get('/env', (c) => {
  // NAME is process.env.NAME on Node.js or Bun
  // NAME is the value written in `wrangler.toml` on Cloudflare
  const { NAME } = env<{ NAME: string }>(c)
  return c.text(NAME)
})

Environnements d’exécution, plateformes serverless et services cloud pris en charge :

Spécifier l’environnement d’exécution ​

Vous pouvez spécifier l’environnement d’exécution dont vous souhaitez récupérer les variables d’environnement en passant sa clé comme deuxième argument.

ts
app.get('/env', (c) => {
  const { NAME } = env<{ NAME: string }>(c, 'workerd')
  return c.text(NAME)
})

getRuntimeKey() ​

La fonction getRuntimeKey() renvoie l’identifiant de l’environnement d’exécution actuel.

ts
app.get('/', (c) => {
  if (getRuntimeKey() === 'workerd') {
    return c.text('You are on Cloudflare')
  } else if (getRuntimeKey() === 'bun') {
    return c.text('You are on Bun')
  }
  ...
})

Clés des environnements d’exécution disponibles ​

Voici les clés disponibles. Les environnements d’exécution qui n’ont pas de clé répertoriée peuvent être pris en charge et identifiés par other. Certaines clés s’inspirent des clés d’environnement d’exécution de WinterCG :

  • workerd - Cloudflare Workers
  • deno
  • bun
  • node
  • edge-light - Vercel Edge Functions
  • fastly - Fastly Compute
  • other - Autres environnements d’exécution inconnus

Publié sous licence MIT.