https://github.com/kizzycode/http_file
This library provides POSIX-like random-read-access to a HTTP-resource
https://github.com/kizzycode/http_file
Last synced: 9 months ago
JSON representation
This library provides POSIX-like random-read-access to a HTTP-resource
- Host: GitHub
- URL: https://github.com/kizzycode/http_file
- Owner: KizzyCode
- License: bsd-2-clause
- Created: 2018-01-12T12:59:24.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-12T13:28:34.000Z (almost 8 years ago)
- Last Synced: 2025-02-06T04:44:17.285Z (11 months ago)
- Language: Rust
- Size: 12.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](https://opensource.org/licenses/BSD-2-Clause)
# About
This library provides POSIX-like random-read-access to a HTTP-resource
It provides the following features:
- `open`ing a HTTP-resource: this validates if the server supports HTTP-range-requests (required for random access), gets
the resources's size and removes the percent-encoding to display a human-readable filename
- `read`/`read_at`, `seek`/`tell` and some helper-APIs
# Dependencies
This library depends on [network_io](https://github.com/KizzyCode/network_io) for the network-operations and
[http](https://github.com/KizzyCode/http) for the HTTP-encoding/decoding.
# Build Library and Documentation
To build the documentation, go into the projects root-directory and run `cargo doc --release`; to open the documentation
in your web-browser, run `cargo doc --open`.
To build the library, go into the projects root-directory and run `cargo build --release`; you can find the build in
target/release.
# TODO
- HTTPS-support
- Background-prefetching for better performance
- Maybe adaptive cache-resizing