Crate reqwest_builder

Crate reqwest_builder 

Source
Expand description

§Reqwest Builder

A builder for reqwest requests with support for custom headers, query parameters, and body content, featuring comprehensive error handling.

§Features

  • Builder Pattern: Trait-based approach for converting request structures into reqwest builders
  • Multiple Body Types: Support for JSON, form-encoded, multipart, and no-body requests
  • Error Handling: Comprehensive error handling with detailed error messages
  • File Uploads: Built-in support for file uploads with MIME type detection
  • Header Management: Safe header serialization with proper error reporting

§Quick Start

use reqwest_builder::{IntoReqwestBuilder, RequestBody};
use serde::Serialize;

#[derive(Serialize)]
struct CreateUserRequest {
    name: String,
    email: String,
}

impl IntoReqwestBuilder for CreateUserRequest {
    type Headers = ();

    fn method(&self) -> http::Method {
        http::Method::POST
    }

    fn endpoint(&self) -> String {
        "/users".to_string()
    }
}

Re-exports§

pub use errors::ReqwestBuilderError;
pub use file_upload::FileUpload;
pub use trait_impl::IntoReqwestBuilder;
pub use trait_impl::QueryParamValue;
pub use trait_impl::query_param_helper;
pub use types::QueryParams;
pub use types::RequestBody;
pub use serialization::construct_url;
pub use serialization::serialize_to_form_params;
pub use serialization::serialize_to_header_map;

Modules§

errors
file_upload
serialization
trait_impl
types