Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

エンジン側のエラー発生時、クライアントにCORSエラーが表示される #91

Closed
Hiroshiba opened this issue Sep 13, 2021 · 5 comments · Fixed by #969
Labels
バグ 優先度:低 (運用中止)

Comments

@Hiroshiba
Copy link
Member

不具合の内容

サーバーがエラーになると、なぜかクライアント側でCORSエラーとなります。
これのせいでエラーの原因を勘違いしやすくなっています。

その他

正常レスポンスではCORSを考慮したレスポンスが返されるようになっていますが、エラー時にそれが適用されてないかも

@y-chan
Copy link
Member

y-chan commented Sep 13, 2021

Internal Server Error(HTTP Status Code: 500)の時にCORSを吐くようです(以前検証した際の情報ですが、おそらく変わってないかと思います)
Engineのコード内でしっかりエラーハンドリングを行い、500が自動的に吐かれるようなことがないようにする(400番系を吐くように変更?)ことで解決できそうな気がします。

@Hiroshiba
Copy link
Member Author

Hiroshiba commented Sep 13, 2021

予期できる500エラーは400にできそうですが、予期しない500エラーを防ぐことはできないはずです。
このissueは後者のとき、少なくともCORSエラーになることを防ぐという意図です。

この辺ですかね fastapi/fastapi#775

@Hiroshiba
Copy link
Member Author

もちろん前者の場合はしっかりエラーハンドリングすべきだと思います!

@sabonerune
Copy link
Contributor

CORSエラーの原因は500エラーそのものではなく未処理の例外が発生するとCORSMiddlewareが適用されないことが原因らしいです。

@Hiroshiba
Copy link
Member Author

おーー、なるほどです!!
やりとり見るにバグっぽい感じなんですかね。

↓のコメントにもあるように、例外用のミドルウェア作っちゃうワークアラウンドで一旦解決で良いのかなと感じました!!
fastapi/fastapi#8658 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
バグ 優先度:低 (運用中止)
Projects
None yet
3 participants