APIのクロスオリジンアクセスを厳格化
クロスオリジンアクセスを厳格化し、foura.aiのみが資格情報を使用してAPIを呼び出せるようにしました。また、metrics endpointの入力フィルターを強化し、開発専用のフォールバックシークレットを削除しました。既存のインテグレーションに変更はありません。
FourA の最新のアップデートと改善情報
クロスオリジンアクセスを厳格化し、foura.aiのみが資格情報を使用してAPIを呼び出せるようにしました。また、metrics endpointの入力フィルターを強化し、開発専用のフォールバックシークレットを削除しました。既存のインテグレーションに変更はありません。
request に validate.status.accept を設定している場合、エンジンは許容された non-200 を正常な成功として処理します。これまで Activity ではこれらが失敗としてラベル付けされており、利用統計に狂いが生じていました。現在は結果が validate の判定に従うようになったため、許容された 403 は App Fail ではなく成功として表示されます。
これまでActivityではApplication_failのような生の結果文字列が表示されていたのに対し、Overviewでは適切な色付きの分かりやすいラベル(App Fail)が表示されていました。現在はActivityでも同じラベルと色が使用されるため、2つのビューの表示内容が統一されました。
Singleを経由してキリル文字、中国語、日本語、またはその他のNon-UTF-8のページをスクレイピングしていた場合、bodyが文字化けして返ってくることがありました。以前は、生のバイトデータが表示される前に、すべてのresponseをUTF-8として強制的にデコードしていました。現在は、responseから文字コード(Content-Type、次に<meta charset>、そしてUTF-8へのフォールバックの順)を読み取り、正しくデコードします。この問題を報告してくれたAlexandar Kanchev (Sensika)氏に感謝いたします。
実環境に存在する一部の proxy は、実際には request を転送しません。それらは request をプレーンテキストのサーバーダンプとしてそのまま送り返し、その中身を収集しようとします。現在、response がコードに到達する前にこのパターンを検出できるようになったため、Single、Browser、および Proxy Finder はすべて、ゴミデータを返す代わりに、適切なエラー(または再試行)を返します。
保存されたペイロードを持つすべてのActivity行がクリック可能になりました。ダイアログには完全なrequestとresponseが表示されます(整形表示、コピーボタン付き。bodyが生成される前にエラーとなったrequestには明確なメッセージが表示されます)。「Open in Playground」をクリックすると、その呼び出しが正確にフォームへロードされ、アーカイブされたresponseがすでにレンダリングされた状態になります。これにより、パラメータを微調整して、再構築することなく再実行できます。保存されたペイロードの保存期間は24時間で、キーごとに直近の200件まで保持されます。
認証されたコールには、X-Foura-Request-Id header が付与されるようになりました。これを独自のログに保存しておくことで、任意の request を Activity 内の対応する行と照合したり、サポートに提供してこちら側で何が起きたのかを正確に調査したりできます。
playground request のロード中に新しい Cancel ボタンを押すと、クリーンに処理を中断します。不安をあおるネットワークエラーの代わりに、「Request canceled」という表示とともに、パネルは即座にアイドル状態に戻ります。
本日以降に作成するキーは、API Keysページとプレイグラウンドのcurl再現ツールの両方で、いつでも表示できます。目のアイコンをクリックして確認すると、キーの全体が15秒間表示された後、自動的に非表示になります(表示履歴はすべて監査ログに記録されます)。これより前に作成された古いキーは、引き続き1回のみ表示可能です。表示可能にするには、古いキーを再生成してください。
再チェックキューは、数週間ではなく数日で消化されるようになりました。テスト対象の各 proxy を選択する時間を約2秒から約10 msに短縮したため、高負荷下でもプールはより新鮮な状態に保たれます。ローテーション内のデッドIPが減少し、すべての Single および Proxy Finder 呼び出しが、より健全なセットに対して実行されます。
昨日の実行ごとの上限を解除した後、1つの大きなproxyブロックがキューを占有するたびに、リフレッシュが停止し続けていました。現在はすべてのバッチを異なるサブネットに分散しているため、各実行でconcurrency budgetを最大限に活用できます。Proxy Finderプールは5-10倍速く入れ替わり、古いエントリは数時間以内にクリアされます。
新規に検出された proxy が検証前に待機状態になっていた遅延を修正しました。Proxy Finder が即座に検証を行うようになったため、稼働中のアクティブな proxy がより多くローテーションに加わり、プールがより新鮮に保たれます。
768px未満では、URL行が2行に折り返され、responseタブは横スクロール可能になり、cookieテーブルはカードグリッドに変換されます。ヒントのツールチップはホバーではなくタップで開くようになり、iPhone SE(374px未満)ではさらに縮小表示されます。Sendボタンは適切に中央配置され、長いURLによってページが横スクロールすることはなくなりました。
以前のExpandはページフロー内でレスポンスカードを拡張していたため、高さのあるペインによってボディスクロールが発生し、レイアウトがシフトしていました。現在はサイドバーとビューポート端の間の固定オーバーレイとなり、ペインはビューポートを満たすように拡大します。Escapeキーで閉じることができ、1つのヘルパーがクリックとキーのパスを処理します。
Host-onlyのcookieがサブドメインに漏洩していました。現在はDomain属性を正しく追跡するようになり、まれなケースであるhost-only向けにParsedビューにHOバッジを追加しました。Rawビューはupstreamが送信した内容と一致します。domain cookieの場合はDomain=.example.com、host-onlyの場合はDomain=行なしとなります。