HTTPメソッド
自動エンドポイント
デフォルトの動作は、すべてのGET
ルートにHEAD
エンドポイントを、そして全ルートにOPTIONS
エンドポイントを自動的に生成することです。
さらに、TRACE
エンドポイントを自動的に生成するオプションもあります。しかし、これらは初期状態では有効ではありません。
HEAD
リクエストはヘッダーを提供し、それ以外は GET
リクエストが提供するものと同じレスポンスを提供します。
しかし、実際にはボディを返しません。
上記のルート定義があれば、Sanic Extensionsはここで見られるようにHEAD
レスポンスを有効にします。
OPTIONS
リクエストは、クライアントが与えられたエンドポイントとの通信をどのように許可されるかの詳細を受信者に提供します。
上記のルート定義があれば、Sanic Extensionsはここで見られるようにHEAD
レスポンスを有効にします。
この例では、access-control-allow-origins
も表示されていることに注意することが重要です。
これは、CORS保護がデフォルトで有効になっているためです。
Sanic Extensionsがこれらのルートを自動的にセットアップしてくれるとしても、手動で `@app.options` ルートを作成することにした場合、それは オーバーライド**されません**。
デフォルトでは、TRACE
エンドポイントは自動的に作成されません。しかし、Sanic Extensions では、必要であれば作成することができます。これはバニラSanicでは許可されていないことである。
これらのエンドポイントの自動作成を有効にするには、まずSanicを拡張する際に有効にする必要があります。
さて、いくつかのエンドポイントが設定されていると仮定して、以下のようにトレースすることができます。
`AUTO_TRACE` を設定すると、特にアプリケーションがプロキシの後ろに配置されている場合、非常に便利です。
は、プロキシがどのように動作しているかを判断するのに役立ちます。
メソッドの追加サポート
バニラSanicでは、以下のHTTPメソッドでエンドポイントを構築することができます。
もっと見たい場合はMDN Web Docs (opens new window) を見てください。
しかし、さらに2つの「標準的な」HTTPメソッドがあります: TRACE
と CONNECT
です。
Sanic Extensions は、これらのメソッドを使用したエンドポイントの構築を可能にするもので、他の方法では許可されません。
これは便利なメソッドである @app.trace
や @app.connect
を有効にするものではないことに注意してください。
この例で示されているように、@app.route
を使用する必要があります。