gproxy_protocol/claude/model_list/
request.rs1use std::collections::BTreeMap;
2
3use serde::{Deserialize, Serialize};
4
5use crate::claude::types::{AnthropicBeta, AnthropicVersion, HttpMethod};
6
7#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
9pub struct ClaudeModelListRequest {
10 pub method: HttpMethod,
12 pub path: PathParameters,
14 pub query: QueryParameters,
16 pub headers: RequestHeaders,
18 pub body: RequestBody,
20}
21
22impl Default for ClaudeModelListRequest {
23 fn default() -> Self {
24 Self {
25 method: HttpMethod::Get,
26 path: PathParameters::default(),
27 query: QueryParameters::default(),
28 headers: RequestHeaders::default(),
29 body: RequestBody::default(),
30 }
31 }
32}
33
34#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
36pub struct PathParameters {}
37
38#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
39pub struct QueryParameters {
40 #[serde(default, skip_serializing_if = "Option::is_none")]
42 pub after_id: Option<String>,
43 #[serde(default, skip_serializing_if = "Option::is_none")]
45 pub before_id: Option<String>,
46 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub limit: Option<u16>,
49}
50
51#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
52pub struct RequestHeaders {
53 #[serde(rename = "anthropic-version")]
55 pub anthropic_version: AnthropicVersion,
56 #[serde(
58 rename = "anthropic-beta",
59 default,
60 skip_serializing_if = "Option::is_none"
61 )]
62 pub anthropic_beta: Option<Vec<AnthropicBeta>>,
63 #[serde(flatten, default, skip_serializing_if = "BTreeMap::is_empty")]
64 pub extra: BTreeMap<String, String>,
65}
66
67#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
69pub struct RequestBody {}