Proxy
Conseil
Mise à jour : Nous avons introduit un nouvel utilitaire Proxy pour simplifier les fonctionnalités de proxy. Consultez la documentation de l’utilitaire Proxy pour en savoir plus.
ts
import { Hono } from 'hono'
const app = new Hono()
app.get('/posts/:filename{.+.png$}', (c) => {
const referer = c.req.header('Referer')
if (referer && !/^https:\/\/example.com/.test(referer)) {
return c.text('Forbidden', 403)
}
return fetch(c.req.url)
})
app.get('*', (c) => {
return fetch(c.req.url)
})
export default appConseil
Si vous rencontrez l’erreur Can't modify immutable headers. avec un code similaire, vous devez cloner l’objet de réponse.
ts
app.get('/', async (_c) => {
const response = await fetch('https://example.com')
// clone the response to return a response with modifiable headers
const newResponse = new Response(response.body, response)
return newResponse
})Les en-têtes de la Response renvoyée par fetch sont immuables. Une erreur se produit donc si vous les modifiez.