API › @builder.io/qwik-city/middleware/request-handler

AbortMessage

export declare class AbortMessage

このセクションを編集

append

Set-Cookieヘッダーを使用して、Responseクッキーヘッダーを追加します。

set()append()の違いは、指定されたヘッダーが既に存在する場合、set()は既存の値を新しい値で上書きするのに対し、append()は新しい値を値のセットの最後に追加することです。

append(name: string, value: string | number | Record<string, any>, options?: CookieOptions): void;

パラメーター

説明

name

string

value

string | number | Record<string, any>

options

CookieOptions

(オプション)

void

CacheControl

export type CacheControl =
  | CacheControlOptions
  | number
  | "day"
  | "week"
  | "month"
  | "year"
  | "no-cache"
  | "immutable"
  | "private";

このセクションを編集

ClientConn

export interface ClientConn

プロパティ

修飾子

説明

country?

string

(オプション)

ip?

string

(オプション)

このセクションを編集

export interface Cookie

メソッド

説明

append(name, value, options)

Set-Cookieヘッダーを使用して、Responseクッキーヘッダーを追加します。

set()append()の違いは、指定されたヘッダーが既に存在する場合、set()は既存の値を新しい値で上書きするのに対し、append()は新しい値を値のセットの最後に追加することです。

delete(name, options)

Responseクッキーヘッダーを使用して、名前でクッキー値を削除します。

get(name)

名前でRequestクッキーヘッダー値を取得します。

getAll()

すべてのRequestクッキーヘッダーを取得します。

has(name)

Requestクッキーヘッダー名が存在するかどうかを確認します。

headers()

設定されたすべてのResponse Set-Cookieヘッダー値の配列を返します。

set(name, value, options)

Set-Cookieヘッダーを使用して、Responseクッキーヘッダーを設定します。

このセクションを編集

CookieOptions

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie

export interface CookieOptions

プロパティ

修飾子

説明

domain?

string

(オプション)クッキーが送信されるホストを定義します。省略した場合、この属性はサブドメインを含まない現在のドキュメントURLのホストにデフォルト設定されます。

expires?

Date | string

(オプション)クッキーの最大寿命をHTTP-dateタイムスタンプとして示します。expiresmaxAgeの両方が設定されている場合、maxAgeが優先されます。

httpOnly?

boolean

(オプション)JavaScriptが、たとえばdocument.cookieプロパティを通じてクッキーにアクセスすることを禁止します。

maxAge?

number | [number, 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks']

(オプション)クッキーが期限切れになるまでの秒数を示します。ゼロまたは負の数は、クッキーをすぐに期限切れにします。expiresmaxAgeの両方が設定されている場合、maxAgeが優先されます。配列構文を使用して、分、時間、日、または週単位で最大年齢を設定することもできます。たとえば、{ maxAge: [3, "days"] }は、クッキーが3日後に期限切れになるように設定します。

path?

string

(オプション)ブラウザーがクッキーヘッダーを送信するために、リクエストされたURLに存在する必要があるパスを示します。

sameSite?

'strict' | 'lax' | 'none' | 'Strict' | 'Lax' | 'None' | boolean

(オプション)クッキーがクロスサイトリクエストで送信されるかどうかを制御し、クロスサイトリクエストフォージェリ攻撃(CSRF)に対するある程度の保護を提供します。

secure?

boolean

(オプション)クッキーがhttps:スキームでリクエストされた場合にのみ(localhostを除く)、サーバーに送信されることを示します。

このセクションを編集

CookieValue

export interface CookieValue

プロパティ

修飾子

説明

json

<T = unknown>() => T

number

() => number

value

string

このセクションを編集

data

data: T;

DeferReturn

export type DeferReturn<T> = () => Promise<T>;

このセクションを編集

delete

Responseクッキーヘッダーを使用して、名前でクッキー値を削除します。

delete(name: string, options?: Pick<CookieOptions, 'path' | 'domain' | 'sameSite'>): void;

パラメーター

説明

name

string

options

Pick<CookieOptions, 'path' | 'domain' | 'sameSite'>

(オプション)

void

EnvGetter

export interface EnvGetter

メソッド

説明

get(key)

このセクションを編集

get

名前でRequestクッキーヘッダー値を取得します。

get(name: string): CookieValue | null;

パラメーター

説明

name

string

CookieValue | null

getAll

すべてのRequestクッキーヘッダーを取得します。

getAll(): Record<string, CookieValue>;

戻り値

Record<string, CookieValue>

getErrorHtml

export declare function getErrorHtml(status: number, e: any): string;

パラメーター

説明

status

number

e

any

string

このセクションを編集

has

Requestクッキーヘッダー名が存在するかどうかを確認します。

has(name: string): boolean;

パラメーター

説明

name

string

boolean

headers

設定されたすべてのResponse Set-Cookieヘッダー値の配列を返します。

headers(): string[];

戻り値

string[]

mergeHeadersCookies

mergeHeadersCookies: (headers: Headers, cookies: CookieInterface) => Headers;

パラメーター

説明

headers

Headers

cookies

CookieInterface

Headers

このセクションを編集

RedirectMessage

export declare class RedirectMessage extends AbortMessage

拡張: AbortMessage

このセクションを編集

RequestEvent

export interface RequestEvent<PLATFORM = QwikCityPlatform> extends RequestEventCommon<PLATFORM>

拡張: RequestEventCommon<PLATFORM>

プロパティ

修飾子

説明

exited

readonly

boolean

ミドルウェアチェーンの実行が完了した場合、True。

getWritableStream

readonly

() => WritableStream<Uint8Array>

HTTPレスポンスストリームに書き込むための低レベルアクセス。getWritableStream()が呼び出されると、ステータスとヘッダーは変更できなくなり、ネットワーク経由で送信されます。

headersSent

readonly

boolean

ヘッダーが送信された場合、True。これにより、それ以上のヘッダーを設定できなくなります。

next

readonly

() => Promise<void>

チェーン内の次のミドルウェア関数を呼び出します。

注:next()の呼び出しがawaitされていることを確認してください。

このセクションを編集

RequestEventAction

export interface RequestEventAction<PLATFORM = QwikCityPlatform> extends RequestEventCommon<PLATFORM>

拡張: RequestEventCommon<PLATFORM>

プロパティ

修飾子

説明

fail

<T extends Record<string, any>>(status: number, returnData: T) => FailReturn<T>

このセクションを編集

RequestEventBase

export interface RequestEventBase<PLATFORM = QwikCityPlatform>

プロパティ

修飾子

説明

basePathname

readonly

string

リクエストのベースパス名。ビルド時に構成できます。デフォルトは/です。

cacheControl

readonly

(cacheControl: CacheControl, target?: CacheControlTarget) => void

Cache-Controlヘッダーを設定する便利なメソッド。CDNによっては、2番目の引数をCDN-Cache-Controlまたは他の値に設定した別のcacheControlを追加することができます(最も一般的な値は自動補完用に提供していますが、任意の文字列を使用できます)。

詳細については、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Controlhttps://qwik.dokyumento.jp/docs/caching/\#CDN-Cache-Controlsを参照してください。

clientConn

readonly

ClientConn

IPアドレスやリクエストの送信元国など、クライアント接続に関する情報を提供します。

cookie

readonly

Cookie

HTTPリクエストとレスポンスのクッキー。リクエストクッキー値を取得するには、get()メソッドを使用します。レスポンスクッキー値を設定するには、set()メソッドを使用します。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies

env

readonly

EnvGetter

プラットフォームが提供する環境変数。

headers

readonly

Headers

HTTPレスポンスヘッダー。最初にヘッダーを追加するまで空になります。リクエストヘッダーを読み取る場合は、代わりにrequest.headersを使用してください。

https://developer.mozilla.org/en-US/docs/Glossary/Response\_header

method

readonly

string

HTTPリクエストメソッド。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

params

readonly

Readonly<Record<string, string>>

現在のURLパス名セグメントから解析されたURLパスパラメータ。クエリ文字列の検索パラメータを取得するには、代わりにqueryを使用してください。

parseBody

readonly

() => Promise<unknown>

このメソッドは、リクエストヘッダーにContent-Typeヘッダーがあるかどうかを確認し、それに応じてボディを解析します。application/jsonapplication/x-www-form-urlencoded、およびmultipart/form-dataのコンテンツタイプをサポートしています。

Content-Typeヘッダーが設定されていない場合は、nullを返します。

pathname

readonly

string

URLパス名。プロトコル、ドメイン、クエリ文字列(検索パラメータ)、またはハッシュは含まれません。

https://developer.mozilla.org/en-US/docs/Web/API/URL/pathname

platform

readonly

PLATFORM

プラットフォーム固有のデータと関数

query

readonly

URLSearchParams

URLクエリ文字列(URL検索パラメータ)。URLパス名で見つかったルートパラメータを取得するには、代わりにparamsを使用してください。

https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams

request

readonly

Request

HTTPリクエスト情報。

sharedMap

readonly

Map<string, any>

すべてのリクエストハンドラーで共有されるマップ。すべてのHTTPリクエストは、共有マップの新しいインスタンスを取得します。共有マップは、リクエストハンドラー間でデータを共有するのに役立ちます。

signal

readonly

AbortSignal

リクエストのAbortSignal(request.signalと同じ)。このシグナルは、リクエストが中止されたことを示します。

url

readonly

URL

HTTPリクエストURL。

このセクションを編集

RequestEventCommon

export interface RequestEventCommon<PLATFORM = QwikCityPlatform> extends RequestEventBase<PLATFORM>

拡張: RequestEventBase<PLATFORM>

プロパティ

修飾子

説明

error

readonly

(statusCode: ErrorCodes, message: string) => ErrorResponse

呼び出されると、レスポンスは指定されたステータスコードで直ちに終了します。これは、404でレスポンスを終了し、routesディレクトリで404ハンドラーを使用するのに役立ちます。使用する必要があるステータスコードについては、https://developer.mozilla.org/en-US/docs/Web/HTTP/Statusを参照してください。

exit

readonly

() => AbortMessage

html

readonly

(statusCode: StatusCodes, html: string) => AbortMessage

HTMLボディレスポンスを送信するための便利なメソッド。レスポンスは、Content-Typeヘッダーが自動的にtext/html; charset=utf-8に設定されます。html()レスポンスは一度しか呼び出すことができません。

json

readonly

(statusCode: StatusCodes, data: any) => AbortMessage

データをJSON文字列化し、レスポンスで送信するための便利なメソッド。レスポンスは、Content-Typeヘッダーが自動的にapplication/json; charset=utf-8に設定されます。json()レスポンスは一度しか呼び出すことができません。

locale

readonly

(local?: string) => string

コンテンツがどのロケールにあるか。

ロケール値は、getLocale()を使用して選択されたメソッドから取得できます

redirect

readonly

(statusCode: RedirectCode, url: string) => RedirectMessage

リダイレクト先のURL。呼び出されると、レスポンスは正しいリダイレクトステータスとヘッダーで直ちに終了します。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections

send

readonly

SendMethod

ボディレスポンスを送信します。Content-Typeレスポンスヘッダーは、send()を使用するときに自動的に設定されないため、手動で設定する必要があります。send()レスポンスは一度しか呼び出すことができません。

status

readonly

(statusCode?: StatusCodes) => number

HTTPレスポンスステータスコード。引数付きで呼び出すと、ステータスコードを設定します。常にステータスコードを返すため、引数なしでstatus()を呼び出すと、現在のステータスコードを返すために使用できます。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

text

readonly

(statusCode: StatusCodes, text: string) => AbortMessage

テキストボディレスポンスを送信するための便利なメソッド。レスポンスは、Content-Typeヘッダーが自動的にtext/plain; charset=utf-8に設定されます。text()レスポンスは一度しか呼び出すことができません。

このセクションを編集

RequestEventLoader

export interface RequestEventLoader<PLATFORM = QwikCityPlatform> extends RequestEventAction<PLATFORM>

拡張: RequestEventAction<PLATFORM>

プロパティ

修飾子

説明

defer

<T>(returnData: Promise<T> | (() => Promise<T>)) => DeferReturn<T>

resolveValue

ResolveValue

このセクションを編集

requestHandler

export type RequestHandler<PLATFORM = QwikCityPlatform> = (
  ev: RequestEvent<PLATFORM>,
) => Promise<void> | void;

参照: RequestEvent

このセクションを編集

RequestHandler

export type RequestHandler<PLATFORM = QwikCityPlatform> = (
  ev: RequestEvent<PLATFORM>,
) => Promise<void> | void;

参照: RequestEvent

このセクションを編集

ResolveSyncValue

export interface ResolveSyncValue

このセクションを編集

ResolveValue

export interface ResolveValue

このセクションを編集

ServerError

export declare class ServerError<T = Record<any, any>> extends Error

拡張: Error

コンストラクタ

修飾子

説明

(constructor)(status, data)

ServerErrorクラスの新しいインスタンスを構築します

プロパティ

修飾子

説明

data

T

status

number

このセクションを編集

ServerRenderOptions

export interface ServerRenderOptions extends RenderOptions

拡張: RenderOptions

プロパティ

修飾子

説明

checkOrigin?

boolean

(オプション) クロスサイトリクエストフォージェリ(CSRF)攻撃に対する保護。

trueの場合、すべての受信POST、PUT、PATCH、またはDELETEフォーム送信について、リクエスト元がサーバーの元と一致するかどうかがチェックされます。

このオプションを無効にすると、CSRF攻撃につながる可能性があるため注意してください。

デフォルトはtrueです。

qwikCityPlan

QwikCityPlan

render

Render

このセクションを編集

ServerRequestEvent

サーバーによって作成されたリクエストイベント。

export interface ServerRequestEvent<T = unknown>

プロパティ

修飾子

説明

env

EnvGetter

getClientConn

() => ClientConn

getWritableStream

ServerResponseHandler<T>

locale

string | undefined

mode

ServerRequestMode

platform

QwikCityPlatform

request

Request

url

URL

このセクションを編集

ServerRequestMode

export type ServerRequestMode = "dev" | "static" | "server";

このセクションを編集

ServerResponseHandler

export type ServerResponseHandler<T = any> = (
  status: number,
  headers: Headers,
  cookies: Cookie,
  resolve: (response: T) => void,
  requestEv: RequestEventInternal,
) => WritableStream<Uint8Array>;

参照: Cookie

このセクションを編集

set

Set-Cookieヘッダーを使用して、Responseクッキーヘッダーを設定します。

set(name: string, value: string | number | Record<string, any>, options?: CookieOptions): void;

パラメーター

説明

name

string

value

string | number | Record<string, any>

options

CookieOptions

(オプション)

void

status

status: number;