RedaktAIDocs

RdaktSyncMiddleware

Sync anonymization middleware for httpx

Synchronous version of RdaktMiddleware. Implements httpx.BaseTransport for use with synchronous httpx clients.

Import

from rdakt_ai import RdaktSyncMiddleware

Constructor

RdaktSyncMiddleware(
    *,
    inner: httpx.BaseTransport | None = None,
    config: RdaktConfig | None = None,
    store: SessionStore | None = None,
    session_key: str | None = None,
    mode: str | None = None,
    error_policy: str | None = None,
    on_entities_detected: Callable[[list[Entity], str], None] | None = None,
    on_anonymized: Callable[[str, str, dict[str, str]], None] | None = None,
    on_deanonymized: Callable[[str, str], None] | None = None,
    on_error: Callable[[Exception, str], None] | None = None,
)

Parameters

Same parameters as RdaktMiddleware, but inner accepts httpx.BaseTransport (sync) instead of httpx.AsyncBaseTransport.

ParameterTypeDefaultDescription
innerBaseTransport | NoneHTTPTransport()The inner httpx transport to wrap
All other parameters——Same as RdaktMiddleware

Methods

handle_request

def handle_request(self, request: httpx.Request) -> httpx.Response

Main transport method called by httpx for synchronous requests.

Usage

import httpx
from openai import OpenAI
from rdakt_ai import RdaktSyncMiddleware

middleware = RdaktSyncMiddleware(inner=httpx.HTTPTransport())

client = OpenAI(
    http_client=httpx.Client(transport=middleware),
)

See Also

On this page