Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

予約済みメソッド

最終更新 Markdown で表示Agent セットアップ

一部のメソッド名は予約されているか、特別な意味を持ちます。

特殊なメソッド

後方互換のため、WorkerEntrypoint または DurableObject を拡張する場合、次のメソッド名には特別な意味があります。これは RpcTarget には 適用されませんRpcTarget では、これらのメソッドはほかの RPC メソッドと同じように動きます。

fetch()

fetch() メソッドは特別に扱われます。HTTP リクエストの処理にだけ使え、fetch ハンドラー と同等です。

WorkerEntrypoint を拡張したクラスで fetch() メソッドを実装できます。ただし、受け取るパラメーターは Request 型の 1 つだけであり、戻り値は Response のインスタンス、またはその Promise である必要があります。

クライアント側では、サービスバインディングまたは Durable Object スタブで呼ぶ fetch() は、標準のグローバル fetch() と同じように動きます。つまり、呼び出し側は fetch() に 1 つまたは 2 つのパラメーターを渡せます。呼び出し側が単一の Request オブジェクトだけを渡さない場合、渡したパラメーターで新しい Request が暗黙的に構築され、そのリクエストがサーバーへ送られます。

Request の一部のプロパティは、クライアント側の fetch() の動作を制御し、サーバーへは送られません。たとえば、プロパティ redirect: "auto"(これがデフォルトです)は、サーバーがリダイレクトレスポンスを返した場合に自動で追跡し、パブリックインターネットへの HTTP リクエストになるよう fetch() に指示します。これも Fetch API の標準どおりです。要するに、fetch() は RPC ではなく Fetch API の規則に従います。

connect()

WorkerEntrypoint クラスの connect() メソッドは、Worker へのソケットのような接続を開くために予約されています。現在は未実装・未サポートです。ただし、Worker から TCP ソケットを開く ことや、Hyperdrive で TCP ソケット経由でデータベースへ直接接続することはできます。

使えないメソッド名

次のメソッド(またはプロパティ)名は、どの RPC 型(WorkerEntrypointDurableObjectRpcTarget を含む)でも RPC メソッドとして使えません。

  • dup: スタブの複製用に予約されています。dup() の詳細は RPC ライフサイクル を参照してください。
  • constructor: JavaScript クラスで特別な意味を持つ名前です。メソッドとして呼ぶ想定ではないため、RPC 越しでは使えません。

次のメソッドは WorkerEntrypointDurableObject でのみ使えず、RpcTarget では使えます。これらのメソッドは、Durable Objects でシステム生成イベントを処理するために、従来から特別な意味を持っています。

  • alarm
  • webSocketMessage
  • webSocketClose
  • webSocketError

役に立ちましたか?