question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

FastApi Error : "RuntimeError: Response content longer than Content-Length"

See original GitHub issue

First 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:closed
  • Created a year ago
  • Reactions:1
  • Comments:14 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
tiangolocommented, Sep 11, 2022

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). 🎉

1reaction
iudeencommented, Sep 8, 2022

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

Read more comments on GitHub >

github_iconTop Results From Across the Web

Response content longer than Content-Length error for ...
The problem exists for DELETE method and NoContent response status code (for ... FastApi Error : "RuntimeError: Response content longer than ...
Read more >
Response content shorter than Content-Length - Stack Overflow
I'm doing a FastAPI app, with a function that authenticates to a CouchDB instance. In order to request Couchdb, I use the (yet...
Read more >
tiangolo/fastapi - Gitter
@tiangolo does FastAPI support serialization / parsing of pydantic models ... in send raise RuntimeError("Response content shorter than Content-Length") ...
Read more >
Release Notes - FastAPI
This fixes an error in Uvicorn that otherwise would be thrown: RuntimeError: Response content longer than Content-Length .
Read more >
Invalid method encountered or duplicate "Content-Length ...
HTTP_200_OK, content=response) except ValueError: return {'error': ... I checked with uvicorn as well as FastAPI and this seems to be generating from ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found