HTTPStream
HTTPStream is a tiny, tiny package that wraps HTTP requests into a Stream so
that you can manage data on the fly, without keeping everything in memory.
Downloading an image:
image_url
|> HTTPStream.get()
|> Stream.into(File.stream!("image.png"))
|> Stream.run()Streaming multiple images into a ZIP archive (using zstream)
[
Zstream.entry("a.png", HTTPStream.get(a_url))
Zstream.entry("b.png", HTTPStream.get(b_url))
]
|> Zstream.zip()
|> Stream.into(File.stream!("archive.zip"))
|> Stream.run()Table of Contents
Installation
First, you need to add http_stream to your list of dependencies on mix.exs:
def deps do
[
{:http_stream, "~> 0.1.0"}
]
endDevelopment
If you want to setup the project for local development, you can just run the following commands.
git clone git@github.com:subvisual/http_stream.git
cd http_stream
bin/setupPRs and issues welcome.
TODOs
- Add remaining HTTP requests
- Add tests
- Add documentation
Contribution Guidelines
Contributions must follow Subvisual's guides.
About
HTTPStream is maintained by Subvisual.
If you need to contact the maintainer, you may <a href="mailto:contact@subvisual.co">reach out to us</a>.