3 releases

0.3.2 Jul 13, 2024
0.3.1 Jul 13, 2024
0.3.0 Jul 13, 2024

#235 in HTTP client


Used in cdumay_rest_client

BSD-3-Clause

32KB
502 lines

cdumay_http_client License: BSD-3-Clause cdumay_http_client on crates.io cdumay_http_client on docs.rs Source Code Repository

cdumay_http_client is a basic library used to standardize result and serialize them using serde.

Quickstart

Cargo.toml:

[dependencies]
cdumay_error = "0.3"
cdumay_result = "0.3"
cdumay_http_client = "0.3"

main.rs:

extern crate cdumay_error;
extern crate cdumay_http_client;
extern crate serde_json;

use cdumay_error::JsonError;
use cdumay_http_client::authentication::NoAuth;
use cdumay_http_client::{ClientBuilder, HttpClient};

fn main() {
    use cdumay_http_client::BaseClient;
let cli = HttpClient::new("https://www.rust-lang.org").unwrap();
    let result = cli.get("/learn/get-started".into(), None, None, None, None);

    match result {
        Ok(data) => println!("{}", data),
        Err(err) => println!("{}", serde_json::to_string_pretty(&JsonError::from(err)).unwrap()),
    }
}

Output:

<!doctype html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <title>
[...]

Errors

Errors can be displayed using cdumay_error:

{
  "code": 500,
  "message": "error trying to connect",
  "msgid": "Err-05192"
}

Dependencies

~6–17MB
~220K SLoC