An open API service indexing awesome lists of open source software.

https://github.com/njaard/idcurl

idiomatic synchronous Rust HTTP client library
https://github.com/njaard/idcurl

Last synced: 5 months ago
JSON representation

idiomatic synchronous Rust HTTP client library

Awesome Lists containing this project

README

          

[![GitHub license](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/njaard/idcurl/master/LICENSE)
[![Crates.io](https://img.shields.io/crates/v/idcurl.svg)](https://crates.io/crates/idcurl)

# Introduction

idcurl is a synchronous HTTP client using curl (and inheriting all of
its protocol support).

It's useful if you absolutely don't want to use futures.

One of two crates (along with [isahc](https://crates.io/crates/isahc))
to support Unix domain sockets!

# Examples

The most basic request:

let mut output = vec!();
idcurl::get("http://example.com")
.expect("error making request")
.copy_to(&mut output)
.unwrap();

You can also configure your request:

let body = r#"{ "hello": "world" }"#;

let mut response = idcurl::Request::post(
"http://example.com".to_string()
)
.header("Content-Type", "application/json")
.body(std::io::Cursor::new(body))
.send()
.expect("http request");
assert!(response.status().is_success());
std::io::copy(&mut response, &mut std::io::stdout())
.expect("reading response");