gofer

Crates.iogofer
lib.rsgofer
version0.1.8
created_at2025-04-23 21:24:36.750131+00
updated_at2025-07-01 06:15:28.588909+00
descriptionGofer.rs makes it easy to fetch data from any URL.
homepagehttps://github.com/dryrust/gofer.rs
repositoryhttps://github.com/dryrust/gofer.rs
max_upload_size
id1646344
size78,481
owners (github:dryrust:owners)

documentation

README

Gofer.rs

License Compatibility Package Documentation

Gofer.rs makes it easy to fetch data from any URL in Rust. Just call gofer::open(url) to get back a Read!

✨ Features

  • Currently supports https:, http:, ftp:, file:, and data: URLs.
  • Supports opting out of any feature using comprehensive feature flags.
  • Adheres to the Rust API Guidelines in its naming conventions.
  • 100% free and unencumbered public domain software.

🛠️ Prerequisites

⬇️ Installation

Installation via Cargo

cargo add gofer

Installation in Cargo.toml (with all features enabled)

[dependencies]
gofer = "0.1"

Installation in Cargo.toml (with only specific features enabled)

[dependencies]
gofer = { version = "0.1", default-features = false, features = ["file"] }

👉 Examples

Importing the Library

use gofer::open;

Reading HTTP(S) URLs

let result = gofer::open("https://www.google.com/robots.txt");

Reading FTP URLs

let result = gofer::open("ftp://ftp.isc.org/welcome.msg");

Reading file: URLs

let result = gofer::open("file:///path/to/file.txt");

Reading stdin: URLs

let result = gofer::open("stdin:");

Reading data: URLs

let result = gofer::open("data:,Hello%2C%20world%21%0A");

📚 Reference

https://docs.rs/gofer/

Protocols

Scheme Feature Summary

data: | data | Inline data in Base64 or URL-encoded format file: | file | Local file path ftp: | ftp | FTP http: | http | HTTP https: | https | HTTPS stdin: | stdin | Standard input stream

Integrations

Crate (Feature) Version Usage Summary
clap  ("clap") 4.5 clap Implements clap::builder::TypedValueParser (TBD)
miette  ("miette") 7.5 miette Derives miette::Diagnostic on gofer::Error
 

👨‍💻 Development

git clone https://github.com/dryrust/gofer.rs.git

Share on X Share on Reddit Share on Hacker News Share on Facebook Share on LinkedIn

Commit count: 37

cargo fmt