Skip to main content

HttpClient

Trait HttpClient 

Source
pub trait HttpClient {
    type Body: Serialize;
    type ApiUrl: AsRef<str>;
    type ApiKey: AsRef<str>;

    // Required methods
    fn api_url(&self) -> &Self::ApiUrl;
    fn api_key(&self) -> &Self::ApiKey;
    fn body(&self) -> &Self::Body;

    // Provided methods
    fn http_config(&self) -> Arc<HttpClientConfig> { ... }
    fn post(&self) -> impl Future<Output = ZaiResult<Response>> + Send { ... }
    fn get(&self) -> impl Future<Output = ZaiResult<Response>> + Send { ... }
}
Expand description

Trait for HTTP clients that communicate with the Zhipu AI API.

Required Associated Types§

Required Methods§

Source

fn api_url(&self) -> &Self::ApiUrl

Source

fn api_key(&self) -> &Self::ApiKey

Source

fn body(&self) -> &Self::Body

Provided Methods§

Source

fn http_config(&self) -> Arc<HttpClientConfig>

Get HTTP client configuration for this request

Override this method to provide custom configuration. Default implementation returns default configuration.

Source

fn post(&self) -> impl Future<Output = ZaiResult<Response>> + Send

Sends a POST request to the API endpoint.

This method implements retry logic with exponential backoff and jitter. It supports configuration through http_config method.

Source

fn get(&self) -> impl Future<Output = ZaiResult<Response>> + Send

Sends a GET request to the API endpoint.

This method implements retry logic with exponential backoff and jitter. It supports configuration through the http_config method.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl HttpClient for CancelBatchRequest

Source§

impl HttpClient for CreateBatchRequest

Source§

impl HttpClient for BatchesListRequest

Source§

impl HttpClient for BatchesRetrieveRequest

Source§

impl HttpClient for FileContentRequest

Source§

impl HttpClient for FileDeleteRequest

Source§

impl HttpClient for FileListRequest

Source§

impl HttpClient for FileUploadRequest

Source§

impl HttpClient for KnowledgeCapacityRequest

Source§

impl HttpClient for CreateKnowledgeRequest

Source§

impl HttpClient for KnowledgeDeleteRequest

Source§

impl HttpClient for DocumentDeleteRequest

Source§

impl HttpClient for DocumentImageListRequest

Source§

impl HttpClient for DocumentListRequest

Source§

impl HttpClient for DocumentReembeddingRequest

Source§

impl HttpClient for DocumentRetrieveRequest

Source§

impl HttpClient for DocumentUploadFileRequest

Source§

impl HttpClient for DocumentUploadUrlRequest

Source§

impl HttpClient for KnowledgeListRequest

Source§

impl HttpClient for KnowledgeRetrieveRequest

Source§

impl HttpClient for KnowledgeUpdateRequest

Source§

impl HttpClient for Moderation

Source§

impl HttpClient for OcrRequest

Source§

impl HttpClient for EmbeddingRequest

Source§

impl HttpClient for RerankRequest

Source§

impl HttpClient for TokenizerRequest

Source§

impl HttpClient for VoiceDeleteRequest

Source§

impl HttpClient for VoiceListRequest

Source§

impl HttpClient for WebSearchRequest

Source§

impl<N> HttpClient for AsyncChatGetRequest<N>
where N: ModelName + AsyncChat,

Source§

impl<N> HttpClient for AudioToTextRequest<N>
where N: ModelName + AudioToText + Serialize + Clone + Send + Sync + 'static,

Source§

impl<N> HttpClient for ImageGenRequest<N>

Source§

impl<N> HttpClient for VideoGenRequest<N>

Source§

impl<N> HttpClient for TextToAudioRequest<N>

Source§

impl<N> HttpClient for VoiceCloneRequest<N>

Source§

impl<N, M, S> HttpClient for AsyncChatCompletion<N, M, S>

Source§

type Body = ChatBody<N, M>

Source§

type ApiUrl = &'static str

Source§

type ApiKey = String

Source§

impl<N, M, S> HttpClient for ChatCompletion<N, M, S>