Minimalistic HTTP Client Test Utilities.

Thanks

Example

```rs use anyhow::Result; use serde_json::{json, Value};

[tokio::test]

async fn testsimplebase() -> httpctest::Result<()> { // Create a new httpc test client with a base URL (will be prefixed for all calls) // The client will have a cookiestore. let hc = httpctest::newclient("http://localhost:8080")?;

//// do_get, do_post, do_put, do_patch, do_delete return a httpc_test::Response

// Simple do_get
let res = hc.do_get("/hello").await?; // httpc_test::Response 
// Pretty print the result (status, headers, response cookies, client cookies, body)
res.print().await?;

let auth_token = res.res_cookie_value("auth-token"); // Option<String>
let content_type = res.header("content_type"); // Option<&String>

// Another do_get
let res = hc.do_get("/context.rs").await?;
// Pretty print but do not print the body 
res.print_no_body().await?;


//// get, post, put, patch, delete return a DeserializeOwned

// a get (return a Deserialized)
let json_value = hc.get::<Value>("/api/tickets").await?;

// Another post (with the cookie store updated from the login request above )
let res = hc
    .do_post(
        "/api/tickets",
        json!({
            "subject": "ticket 01"
        }),
    )
    .await?;
res.print().await?;


// Post with text content and specific content type
let res = hc
    .do_post(
        "/api/tickets",
        (r#"{
            "subject": "ticket bb"
        }
        "#, 
        "application/json"),
    )
    .await?;
res.print().await?;

// Same woth do_patch, do_put.


Ok(())

} ```



This GitHub repo