FastAPI ErrorHandling 과 CORS (3) - 문제 해결
·
탐구 생활/FastAPI CORS
FastAPI 에서 ErrorHandling 하는 과정에서 CORS 문제가 발생하는 이슈와 그 원인을 그리고 그에 따른 사람들의 대응을 알아봤습니다. 그리고 저는 문제의 원인이 Starlette에 있다고 생각했고, 나름대로 연구하여 Starlette codebase 에 코드 3줄을 추가하여 이러한 문제를 해소할 수 있는 방법을 찾았습니다. 당장이라도 Starlette 에 PR 을 올리고 싶었지만, 의외로 다른 사람들의 더 나은 대안을 가지고 있거나 FastAPI 나 Starlette 에서 이미 관련 이슈를 해소할 계획일 있을지도 모르기 때문에 우선 discussion 을 이용하기로 했습니다.FastAPI Discussion[discussion link]이 문제가 FastAPI 에 문서화 될 계획이 있다면..
FastAPI ErrorHandling 과 CORS (2) - 대안 파악
·
탐구 생활/FastAPI CORS
Starlette 와 FastAPI 의 ISSUE(link,link) 에서는 다음의 해결법이 논의 되었습니다.논의된 해결법1. FastAPI 앱을 CORSMiddleware로 감싸기from: thomasleveilfrom starlette.applications import Starlettefrom starlette.authentication import AuthenticationBackend, AuthenticationErrorfrom starlette.exceptions import HTTPExceptionfrom starlette.middleware.authentication import AuthenticationMiddlewarefrom starlette.middleware.cors import ..
FastAPI ErrorHandling 과 CORS (1) - 문제 파악
·
탐구 생활/FastAPI CORS
Starlette와 FastAPI에서 제공하는 CORSMiddleware와 ExceptionHandler가 함께 작동하지 않는 상황은 꽤 혼란스럽습니다. 이는 REST API 개발자 입장에서 상당히 중요한 이슈로, 많은 FastAPI 사용자들이 다양한 해결책을 논의(link, link, link)해 왔지만 제가 봤을때 명확하고 만족스러운 답이 나오지 않은 상태입니다. 우선 문제의 원인과 그 해법이 만족스럽지 않은 이유를 이야기해보겠습니다. 다소 장황한 글이 될 수 있기 때문에 문제 원인과 문제 상황만 파악하고자 하시는 분은 "문제의 원인" 그리고 "문제 상황" 만 보셔도 됩니다.문제 파악Starlette  Middlewere chain Strlette 는 ASGI Spec 을 준수하며, 그에 따라 Mid..