UNPKG

hono-firebase-functions

Version:

Run Hono apps on Firebase Functions using a simple adapter that bridges Firebase’s HTTP layer with Hono’s fetch API.

35 lines (31 loc) 1.39 kB
import { mergeHeaders } from './mergeHeaders' /** * `Partial<Request>``RequestInit` をマージし、新しい `Request` を組み立てる関数 * * - `RequestInit` の値が優先され、`Partial<Request>` の値はデフォルトとして扱われる * - `headers` は適切にマージされ、`Headers` インスタンスとして返される * - `partial` を省略するとデフォルトのリクエストが作成される * * @param {Partial<Request>} [partial] - 既存のリクエスト情報(不完全な `Request` * @param {RequestInit} [initOverrides] - 上書き用の `RequestInit` * @returns {Request} 新しい `Request` インスタンス */ export function assembleRequest( partial?: Partial<Request>, initOverrides?: RequestInit ): Request { const url = partial?.url ?? 'https://example.com/dummy'; const init: RequestInit = { method: initOverrides?.method ?? partial?.method, headers: mergeHeaders(partial?.headers, initOverrides?.headers), body: initOverrides?.body ?? (partial?.body as BodyInit), cache: initOverrides?.cache, credentials: initOverrides?.credentials, mode: initOverrides?.mode, redirect: initOverrides?.redirect, referrer: initOverrides?.referrer, referrerPolicy: initOverrides?.referrerPolicy, integrity: initOverrides?.integrity, }; return new Request(url, init); }