roas-file-fetcher
Filesystem ResourceFetcher and
AsyncResourceFetcher for the
roas OpenAPI loader.
FileFetcher is blocking, backed by std::fs::read, for Loader::register_fetcher. Non-file:// URIs are rejected with LoaderError::UnsupportedFetcherUri. I/O errors surface as LoaderError::ReadFile; body parse errors surface as LoaderError::Parse.
Features
- (default) Sync-only, JSON bodies, no tokio dep.
async— also exposeAsyncFileFetcher, backed bytokio::fs::read, forLoader::register_async_fetcher. Requires an active tokio runtime when the returned future is awaited. Pulls intokiowithfs+rtfeatures.yaml— accept YAML file bodies in addition to JSON. Selection is by file path extension (.yaml/.yml). Pulls inserde_yaml_ng.
[]
= { = "0.1", = ["async", "yaml"] }
Usage
cargo add roas-file-fetcher
use Loader;
use FileFetcher;
let mut loader = new;
loader.register_fetcher;
With the async feature enabled:
use Loader;
use AsyncFileFetcher;
let mut loader = new;
loader.register_async_fetcher;
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.