Crate fibreq

Source
Expand description

§Fibreq (FIBer REQuests)

Fibreq is non-blocking HTTP client designed specifically for the Tarantool ecosystem, leveraging the Tarantool’s fiber capabilities. It aims to provide a robust, feature-rich alternative for making HTTP(S) requests directly from Tarantool instances, inspired by the ease of use seen in libraries like reqwest but tailored for Tarantool’s unique environment.

§Features

  • Non-blocking Nature: Utilizes Tarantool’s fiber system for efficient, non-blocking I/O operations.
  • Connection Pooling: Enhances performance by reusing connections across multiple requests, minimizing the overhead of establishing new connections.
  • Comprehensive Timeout Controls: Offers detailed timeout configurations for connection establishment, request sending, and response reading to avoid hanging requests.
  • HTTPS Support: Secures your data with TLS support for HTTPS requests, ensuring your connections are encrypted and safe.
  • Flexible Request Building: Simplifies creating complex requests with a convenient builder pattern, supporting various content types, headers, and body content.
  • Error Handling: Provides clear and actionable errors, making debugging and error resolution straightforward.

§Modules

  • request: Defines the Request struct and associated builder for constructing HTTP requests.
  • response: Provides the Response struct for accessing data returned by HTTP responses.
  • connection: Manages TCP connections, including a pool for reusing connections.
  • error: Enumerates possible errors that can occur during request preparation and execution.
  • types: Contains type definitions and utility functions used across the library.
  • utils: Offers utility functions for common operations such as encoding basic auth headers.
  • debug: Helper utils for debugging purposes.

Structs§

  • Represents an HTTP client that manages connections and executes HTTP requests.
  • A builder for creating instances of Client with custom configurations.
  • Represents an HTTP request, including headers, body, and configuration for timeouts.
  • A builder for constructing instances of Request.
  • Represents an HTTP response received by the Fibreq client.

Enums§

  • Represents all possible errors that can occur while using the Fibreq client.