FastApi Error : "RuntimeError: Response content longer than Content-Length"
See original GitHub issueFirst Check
- I added a very descriptive title to this issue.
- I used the GitHub search to find a similar issue and didn’t find it.
- I searched the FastAPI documentation, with the integrated search.
- I already searched in Google “How to X in FastAPI” and didn’t find any information.
- I already read and followed all the tutorial in the docs and didn’t find an answer.
- I already checked if it is not related to FastAPI but to Pydantic.
- I already checked if it is not related to FastAPI but to Swagger UI.
- I already checked if it is not related to FastAPI but to ReDoc.
Commit to Help
- I commit to help with one of those options 👆
Example Code
#dummy list for posts
my_posts=[{"title":"Post 1","content":"Content of Post 1","id":1 },
{"title":"Post 2","content":"Content of Post 2","id":2 },
{"title":"Post 3","content":"Content of Post 3","id":3 }
]
#function to get the index of the post which I am looking to delete by matching the ID
def find_index_post(id):
for i, p in enumerate(my_posts):
if p['id']==id:
return i
#delete request created using FastApi
@app.delete("/posts/{id}",status_code=status.HTTP_204_NO_CONTENT)
def delete_post(id:int):
index=find_index_post(id)
if index==None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=f"Post with Id {id} does not
exist!")
my_posts.pop(index)
return Response(status_code=status.HTTP_404_NOT_FOUND)
Description
I have started learning FastApi recently and have been following one youtube tutorial for lessons.
The issue i have been facing with this code is whenever I run delete_post request on Postman I get below error on uvicorn server: “return Response(status_code=status.HTTP_204_NO_CONTENT) TypeError: Response.init() got an unexpected keyword argument ‘status_code’” However, in the instructors video, this is working fine without any errors.
I searched and found few issues related to this on here which I tried to follow but couldn’t get myself to resolve the error. I tried following few solutions as provided inside below ISSUE ID but to no avail- " Response content longer than Content-Length error for DELETE and NoContent #4939"
The two prominent errors I am getting are:
-
"return Response(status_code=status.HTTP_204_NO_CONTENT) TypeError: Response.init() got an unexpected keyword argument ‘status_code’ ***This is the original code which i am following from the youtube lesson
-
raise RuntimeError(“Response content longer than Content-Length”) RuntimeError: Response content longer than Content-Length ***This is the error i am getting when I try to follow the solution provided in Issue id “4939”.
Kindly assist, Thanks!
Operating System
Windows
Operating System Details
No response
FastAPI Version
0.78.0
Python Version
Python 3.10.4
Additional Context
NA
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:14 (7 by maintainers)
Thanks everyone! This should have been fixed by @iudeen in https://github.com/tiangolo/fastapi/pull/5365 🚀
This is available in the next version of FastAPI released in the next hours (the current is
0.82.0
). 🎉The reason this one keeps escaping the tests IMO is because FastAPI returns the given status code even if starlette raised 500 - Internal Server Error