gproxy_protocol/openai/count_tokens/
response.rs1use http::StatusCode;
2use serde::{Deserialize, Serialize};
3
4use crate::openai::count_tokens::types::{OpenAiApiErrorResponse, OpenAiResponseHeaders};
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8pub struct ResponseBody {
9 pub input_tokens: u64,
10 pub object: OpenAiCountTokensObject,
11}
12
13#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
14pub enum OpenAiCountTokensObject {
15 #[serde(rename = "response.input_tokens")]
16 ResponseInputTokens,
17}
18
19#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
21#[serde(untagged)]
22pub enum OpenAiCountTokensResponse {
23 Success {
24 #[serde(with = "crate::openai::types::status_code_serde")]
26 stats_code: StatusCode,
27 headers: OpenAiResponseHeaders,
29 body: ResponseBody,
31 },
32 Error {
33 #[serde(with = "crate::openai::types::status_code_serde")]
35 stats_code: StatusCode,
36 headers: OpenAiResponseHeaders,
38 body: OpenAiApiErrorResponse,
40 },
41}