0

Sinatra で Web サービスを作成しています。私はミドルウェアを使用して、シンプルで馬鹿げた CORS サポートを追加します (Access-Control-Allow-Origin=*すべてのリクエストに対してスパムを送信するだけです)。より堅牢なサポートを備えた宝石があることは知っていますが、これは 3 行のコードで私が望むことを行います。を除外する...

例外が発生した場合を除き@app.call env、ヘッダーを変更する機会はありません。例外は までバブルしRack::ShowExceptions、余分なヘッダーをその応答に挿入する方法が見つかりません。

使用を中止する必要がありRack::ShowExceptionsますか? 私はそれをmokeypatchする必要がありますか?CORS を認識しないエラー メッセージをキャッチして追加するミドルウェアをスタックのさらに下に配置する必要があります? 私はそれらのいずれかを行う方法を知っているかどうかわかりません。

4

1 に答える 1

0

私の推測は正しかったことがわかりましuse DumbCorsSupportuse Rack::ShowExceptions。ただし、少なくとも私が使用しているブラウザーでは、500 ページが他のサービスと同じ CORS ヘッダーを提供していない場合、クライアント側のエラー コールバックがトリガーされないことに注意してください。

于 2012-12-06T11:35:19.043 に答える