Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixed SimpleStreamResponseSender ignored defined content length #2

Open
6 of 17 tasks
weierophinney opened this issue Dec 31, 2019 · 0 comments
Open
6 of 17 tasks
Labels
Bug Something isn't working

Comments

@weierophinney
Copy link
Member

Provide a narrative description of what you are trying to accomplish:

We are using the stream HTTP response to directly stream file content from S3 to clients.
As we are dealing with video files we are using the the Range/Content-Range headers to allow clients to download specific parts of files.

To be able to do so we use the Zend\Http\Response\Stream::setContentLength method together with fseek to define the parts of the file to send.

Where Stream::readStream is dealing with the content length it's not handled in SimpleStreamResponseSender and the stream gets send until EOF.

To fix that this PR uses stream_copy_to_stream to php://output instead of fpassthru if a content length has been defined.

  • Are you fixing a bug?

    • Detail how the bug is invoked currently.
    • Detail the original, incorrect behavior.
    • Detail the new, expected behavior.
    • Base your feature on the master branch, and submit against that branch.
    • Add a regression test that demonstrates the bug, and proves the fix.
    • Add a CHANGELOG.md entry for the fix.
  • Are you creating a new feature?

    • Why is the new feature needed? What purpose does it serve?
    • How will users use the new feature?
    • Base your feature on the develop branch, and submit against that branch.
    • Add only one feature per pull request; split multiple features over multiple pull requests
    • Add tests for the new feature.
    • Add documentation for the new feature.
    • Add a CHANGELOG.md entry for the new feature.
  • Is this related to quality assurance?

  • Is this related to documentation?


Originally posted by @marc-mabe at zendframework/zend-mvc#315

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant