Crates.io | http-request |
lib.rs | http-request |
version | 8.34.0 |
source | src |
created_at | 2024-11-29 01:36:52.31709 |
updated_at | 2025-01-09 00:53:07.285013 |
description | http-request is a lightweight, efficient library for building, sending, and handling HTTP/HTTPS requests in Rust applications. It provides a simple and intuitive API, allowing developers to easily interact with web services, whether they use the "HTTP" or "HTTPS" protocol. The library supports various HTTP methods, custom headers, request bodies, timeout, automatic handling of redirects (including detecting redirect loops), and enhanced response body decoding (both automatic and manual), enabling fast and secure communication. Whether working with secure "HTTPS" connections or standard "HTTP" requests, the library is optimized for performance, minimal resource usage, and easy integration into Rust projects. |
homepage | |
repository | https://github.com/ltpp-universe/http-request.git |
max_upload_size | |
id | 1465127 |
size | 101,737 |
http-request is a lightweight, efficient library for building, sending, and handling HTTP/HTTPS requests in Rust applications. It provides a simple and intuitive API, allowing developers to easily interact with web services, whether they use the "HTTP" or "HTTPS" protocol. The library supports various HTTP methods, custom headers, request bodies, timeout, automatic handling of redirects (including detecting redirect loops), and enhanced response body decoding (both automatic and manual), enabling fast and secure communication. Whether working with secure "HTTPS" connections or standard "HTTP" requests, the library is optimized for performance, minimal resource usage, and easy integration into Rust projects.http-request is a lightweight, efficient library for building, sending, and handling HTTP/HTTPS requests in Rust applications. It provides a simple and intuitive API, allowing developers to easily interact with web services, whether they use the "HTTP" or "HTTPS" protocol. The library supports various HTTP methods, custom headers, request bodies, timeout, automatic handling of redirects (including detecting redirect loops), and enhanced response body decoding (both automatic and manual), enabling fast and secure communication. Whether working with secure "HTTPS" connections or standard "HTTP" requests, the library is optimized for performance, minimal resource usage, and easy integration into Rust projects.
http_request
crate provides a simple and efficient API for building, sending, and handling HTTP requests while minimizing resource consumption.RequestBuilder
to set request headers, bodies, and URLs.Result
type to handle errors in requests and responses, making error handling straightforward.To use this crate, you can run cmd:
cargo add http-request
use http_request::*;
use std::collections::HashMap;
let mut header: HashMap<&str, &str> = HashMap::new();
header.insert("header-key", "header-value");
let mut _request_builder = RequestBuilder::new()
.get("https://ltpp.vip/")
.headers(header)
.timeout(6000)
.redirect()
.max_redirect_times(8)
.http1_1_only()
.buffer(4096)
.decode()
.build();
_request_builder
.send()
.and_then(|response| {
println!("{:?}", response.text());
Ok(())
})
.unwrap_or_else(|e| println!("Error => {}", e));
use http_request::*;
use std::collections::HashMap;
let mut header: HashMap<&str, &str> = HashMap::new();
header.insert("header-key", "header-value");
let mut body: HashMap<&str, &str> = HashMap::new();
body.insert("body-key", "body-value");
let mut _request_builder = RequestBuilder::new()
.post("http://localhost:80")
.json(body)
.headers(header)
.timeout(6000)
.redirect()
.max_redirect_times(8)
.http1_1_only()
.buffer(4096)
.build();
_request_builder
.send()
.and_then(|response| {
println!("{:?}", response.decode().text());
Ok(())
})
.unwrap_or_else(|e| println!("Error => {}", e));
use http_request::*;
use std::collections::HashMap;
let mut header: HashMap<&str, &str> = HashMap::new();
header.insert("header-key", "header-value");
let mut _request_builder = RequestBuilder::new()
.post("http://localhost")
.text("hello")
.headers(header)
.timeout(6000)
.redirect()
.max_redirect_times(8)
.http1_1_only()
.buffer(4096)
.decode()
.build();
_request_builder
.send()
.and_then(|response| {
println!("{:?}", response.text());
Ok(())
})
.unwrap_or_else(|e| println!("Error => {}", e));
use http_request::*;
use std::collections::HashMap;
let mut header: HashMap<&str, &str> = HashMap::new();
header.insert("header-key", "header-value");
let mut _request_builder = RequestBuilder::new()
.post("http://localhost")
.body("hello".as_bytes())
.headers(header)
.timeout(6000)
.redirect()
.max_redirect_times(8)
.http1_1_only()
.buffer(4096)
.build();
_request_builder
.send()
.and_then(|response| {
println!("{:?}", response.decode(4096).text());
Ok(())
})
.unwrap_or_else(|e| println!("Error => {}", e));
Ensure that CMake is installed on the system
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please open an issue or submit a pull request.
For any inquiries, please reach out to the author at ltpp-universe root@ltpp.vip.