Giter Club home page Giter Club logo

Comments (5)

weierophinney avatar weierophinney commented on May 24, 2024

It just occurred to me - why is emitBody() converting the stream to a string in the first place? Isn't the whole point of a stream that it can be streamed?

$stream = $response->getBody();
if ($stream->isSeekable()) {
    $stream->rewind();
}
while (!$stream->eof()) {
    echo $stream->read(1048576);
}

Originally posted by @jesseschalken at zendframework/zend-diactoros#181 (comment)

from laminas-diactoros.

weierophinney avatar weierophinney commented on May 24, 2024

I performed a ton of benchmarks when developing psr-7 that indicated that
when dumping the entire stream at once, the implementation in
__toString() tends to be most performant for payloads falling within
average web page and API payload sizes. You can always create alternate
emitters if your needs are different.
On Jun 21, 2016 9:39 PM, "Jesse Schalken" [email protected] wrote:

It just occurred to me - why is emitBody() converting the stream to a
string in the first place? Isn't the whole point a stream that it can be
streamed?

$stream = $response->getBody();if ($stream->isSeekable()) { $stream->rewind();}while (!$stream->eof()) { echo $stream->read(1048576);}


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
zendframework/zend-diactoros#181 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AABlV7UxnPQGXcCCXOnCGJD4pr8XxuOoks5qOKBGgaJpZM4I6cvi
.


Originally posted by @weierophinney at zendframework/zend-diactoros#181 (comment)

from laminas-diactoros.

weierophinney avatar weierophinney commented on May 24, 2024

Doesn't everybody "need" their exceptions not to be ignored? Isn't that why they throw exceptions?


Originally posted by @jesseschalken at zendframework/zend-diactoros#181 (comment)

from laminas-diactoros.

weierophinney avatar weierophinney commented on May 24, 2024

Moreover, toString always returns an empty string when isSeekable is false due to the unchecked call to rewind there. I don't think toString should be used in SapiEmitter either.


Originally posted by @Venorcis at zendframework/zend-diactoros#181 (comment)

from laminas-diactoros.

Xerkus avatar Xerkus commented on May 24, 2024

SapiEmitter no longer part of laminas-diactoros

from laminas-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.