Skip to content
  • Zeyla Hellyer's avatar
    Redo the library · 67da210b
    Zeyla Hellyer authored
    This commit essentially redoes the library from the ground up, providing
    an idiomatic API wrapper along with `hyper` and `reqwest` HTTP client
    implementations.
    
    The library provides implementations in the form of traits, to allow
    re-use of a user's client while also being able to use their client and
    not maintaining the library's own HTTP client wrapper (or oneshot
    clients that are not re-used).
    
    `reqwest` and `hyper` features are feature-flagged, with the
    `reqwest-support` or `hyper-support` features, respectively, needing to
    be implemented for compilation of them.
    
    This can be enabled like so:
    
    ```toml
    [dependencies.owo]
    default-features = false
    features = ["hyper-support"]
    git = "https://github.com/whats-this/owo.rs"
    ```
    
    This will not compile the default client (`reqwest`) support, and will
    compile `hyper` support.
    
    Documentation, doctests, example binaries, and API-hitting tests have
    been provided, allowing for automated CI for the first three test types,
    while allowing developer-specified API-hitting testing via
    `cargo test -- --ignored`. Essentially, tests that hit the API are not
    ran by CI.
    
    Lastly, responses are parsed and deserialized by the library via the
    use of the serde framework, providing mapped structs for user
    ease-of-use.
    67da210b