Skip to main content

gproxy_protocol/openai/embeddings/
response.rs

1use http::StatusCode;
2use serde::{Deserialize, Serialize};
3
4use crate::openai::embeddings::types::{
5    OpenAiApiErrorResponse, OpenAiCreateEmbeddingResponse, OpenAiResponseHeaders,
6};
7
8/// Successful body for OpenAI `embeddings.create` endpoint.
9pub type ResponseBody = OpenAiCreateEmbeddingResponse;
10
11/// Full HTTP response for OpenAI `embeddings.create` endpoint.
12#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
13#[serde(untagged)]
14pub enum OpenAiEmbeddingsResponse {
15    Success {
16        /// HTTP status code returned by server (should be `200 OK`).
17        #[serde(with = "crate::openai::types::status_code_serde")]
18        stats_code: StatusCode,
19        /// Response headers.
20        headers: OpenAiResponseHeaders,
21        /// Successful body.
22        body: ResponseBody,
23    },
24    Error {
25        /// HTTP status code returned by server (typically non-2xx).
26        #[serde(with = "crate::openai::types::status_code_serde")]
27        stats_code: StatusCode,
28        /// Response headers.
29        headers: OpenAiResponseHeaders,
30        /// Error body.
31        body: OpenAiApiErrorResponse,
32    },
33}