Skip to content

http

Structs

Enums


firma_sidecar::connector::provider::http::GenericHttpConnector

Section titled “firma_sidecar::connector::provider::http::GenericHttpConnector”

Struct

HTTP connector built on [reqwest::Client].

One instance per configured host plus one registry default. Connection pooling and HTTP/2 multiplexing are inherited from the underlying client; the Arc<Client> is cheap to clone into the registry.

The workspace reqwest dependency does not enable the gzip/brotli/ deflate/zstd features, so this client never automatically decodes a compressed response body: a Content-Encoding-compressed upstream response reaches the rest of the pipeline with its compressed bytes intact. Secret-gateway response masking, HTTP secret provider interception, and request placeholder rehydration each decode a supported Content-Encoding themselves before scanning for plaintext content-type structure (JSON/XML/form) and re-encode afterward (see crate::body_encoding), so a compressed body no longer hides a secret from any of them. The remaining sharp edge is narrower than it used to be: an encoding body_encoding doesn’t support is opaque to these layers, which — for the secret-bearing paths — fail closed rather than forward or scan it unexamined.

Methods:

  • fn new(config: &HttpConnectorConfig) -> Result<Self, HttpConnectorBuildError> - Builds a connector with the given [HttpConnectorConfig].

Trait Implementations:

  • Connector
    • fn dispatch(self: &'life0 Self, view: &'life1 TransportView) -> ::core::pin::Pin<Box<dyn ::core::future::Future>>

firma_sidecar::connector::provider::http::HttpConnectorBuildError

Section titled “firma_sidecar::connector::provider::http::HttpConnectorBuildError”

Enum

Errors raised while constructing a [GenericHttpConnector].

Kept separate from [ConnectorError] because these failures are startup-time configuration bugs, not hot-path dispatch outcomes.

Variants:

  • Client(String) - The underlying [reqwest::Client] could not be constructed.

firma_sidecar::connector::provider::http::HttpConnectorConfig

Section titled “firma_sidecar::connector::provider::http::HttpConnectorConfig”

Struct

Build-time configuration for a [GenericHttpConnector] instance.

Built from sidecar host connector configuration entries at startup. Per-host instances carry a rate limiter; the registry default built via [GenericHttpConnector::default_for_unconfigured] does not.

Fields:

  • timeout: std::time::Duration - Dispatch timeout for both the rate-limiter wait and the
  • rate_limit: Option<RateLimitConfig> - Optional token-bucket rate limiter parameters.

Trait Implementations:

  • Debug
    • fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result
  • Clone
    • fn clone(self: &Self) -> HttpConnectorConfig

firma_sidecar::connector::provider::http::RateLimitConfig

Section titled “firma_sidecar::connector::provider::http::RateLimitConfig”

Struct

Token-bucket rate-limit parameters.

rps is the sustained refill rate (tokens per second); burst is the bucket capacity (maximum instantaneous burst).

Traits: Copy

Trait Implementations:

  • Clone
    • fn clone(self: &Self) -> RateLimitConfig
  • Debug
    • fn fmt(self: &Self, f: & mut $crate::fmt::Formatter) -> $crate::fmt::Result