gproxy_protocol/gemini/model_list/
request.rs1use std::collections::BTreeMap;
2
3use serde::{Deserialize, Serialize};
4
5use crate::gemini::types::HttpMethod;
6
7#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
9pub struct GeminiModelListRequest {
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 GeminiModelListRequest {
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(rename = "pageSize", default, skip_serializing_if = "Option::is_none")]
42 pub page_size: Option<u32>,
43 #[serde(rename = "pageToken", default, skip_serializing_if = "Option::is_none")]
45 pub page_token: Option<String>,
46}
47
48#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
50pub struct RequestHeaders {
51 #[serde(flatten, default, skip_serializing_if = "BTreeMap::is_empty")]
52 pub extra: BTreeMap<String, String>,
53}
54
55#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
57pub struct RequestBody {}