Giter VIP home page Giter VIP logo

Comments (4)

weierophinney avatar weierophinney commented on August 29, 2024

That's a great catch; I think it should be the job of the emitter, to be honest. Considering the information is in the response stream already (via getSize()), it could be something like this:

if (! $response->hasHeader('Content-Length')) {
    $response = $response->withHeader('Content-Length', $response->getBody()->getSize());
}

That could even be provided as a trait method (e.g., injectContentLength(ResponseInterface $response): ResponseInterface), which emitters can then compose in order to provide this functionality.

Want to give it a whirl, @mnapoli ?

from zend-diactoros.

mnapoli avatar mnapoli commented on August 29, 2024

Great, that will also simplify my code. It's on my todo list then!

from zend-diactoros.

mnapoli avatar mnapoli commented on August 29, 2024

This was fixed by #88.

from zend-diactoros.

franzliedke avatar franzliedke commented on August 29, 2024

@mnapoli @weierophinney A little late to the game, but why exactly was this added? AFAIK, Content-Length is only needed for downloads.

I am asking because we have some issue reports about truncated JSON responses for Flarum which seem to have to do with this header not matching the true content length.

EDIT: Fixed the issue link.

from zend-diactoros.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.