gproxy_protocol/claude/model_list/
response.rs1use http::StatusCode;
2use serde::{Deserialize, Serialize};
3
4use crate::claude::types::{BetaErrorResponse, BetaModelInfo, ClaudeResponseHeaders};
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8pub struct ResponseBody {
9 pub data: Vec<BetaModelInfo>,
11 pub first_id: String,
13 pub has_more: bool,
15 pub last_id: String,
17}
18
19#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
21#[serde(untagged)]
22pub enum ClaudeModelListResponse {
23 Success {
24 #[serde(with = "crate::claude::types::status_code_serde")]
26 stats_code: StatusCode,
27 headers: ClaudeResponseHeaders,
29 body: ResponseBody,
31 },
32 Error {
33 #[serde(with = "crate::claude::types::status_code_serde")]
35 stats_code: StatusCode,
36 headers: ClaudeResponseHeaders,
38 body: BetaErrorResponse,
40 },
41}