FastAPI 에서 ErrorHandling 하는 과정에서 CORS 문제가 발생하는 이슈와 그 원인을 그리고 그에 따른 사람들의 대응을 알아봤습니다.
그리고 저는 문제의 원인이 Starlette에 있다고 생각했고, 나름대로 연구하여 Starlette codebase 에 코드 3줄을 추가하여 이러한 문제를 해소할 수 있는 방법을 찾았습니다.
당장이라도 Starlette 에 PR 을 올리고 싶었지만, 의외로 다른 사람들의 더 나은 대안을 가지고 있거나 FastAPI 나 Starlette 에서 이미 관련 이슈를 해소할 계획일 있을지도 모르기 때문에 우선 discussion 을 이용하기로 했습니다.
FastAPI Discussion
이 문제가 FastAPI 에 문서화 될 계획이 있다면 당장 급한 이슈는 해소될 것으로 보여서 물어봤습니다.
일단 FastAPI 팀은 문서화 계획은 없으며, Starlette 에 관련 제안을 해달라는 답볃을 받았습니다.
Starlette Discussion
Starlette 에는 codebase 변경과 문서화를 함께 제안해보았습니다.
하지만 제가 문제가 있다고 생각했던 방식이 사실은 Starlette 의 공식적인 접근이라는 답변을 받았습니다. (FastAPI 의 maintainer 와 동일한 사람입니다.)
이미 Starlette 진영에서 해당 문제에 대한 공식적인 접근방법이 있다고 말을 한 이상 내가 코드베이스를 바꾸는것은 어려운일이라고 생각됩니다. 다만 Starlette 공식문서에 해당 내용을 추가할 순 있을 것 같습니다.
문제해결:Starlette 문서추가
결국 Starlette 공식문서에 해당 내용을 추가할 수 있었습니다. RP#2885, 개발자로서 직접 소스코드에 기여하고 싶은 욕심이 있어서 공식문서로만 끝난게 아쉽지만, Starlette 과 FastAPI 생태계를 더 잘 알게된 계기가 된것 같습니다.
'탐구 생활 > FastAPI CORS' 카테고리의 다른 글
FastAPI ErrorHandling 과 CORS (2) - 대안 파악 (1) | 2025.02.15 |
---|---|
FastAPI ErrorHandling 과 CORS (1) - 문제 파악 (0) | 2025.02.10 |