gproxy_protocol/transform/claude/model_list/gemini/
request.rs1use crate::claude::model_list::request::ClaudeModelListRequest;
2use crate::gemini::model_list::request::{
3 GeminiModelListRequest, PathParameters, QueryParameters, RequestBody, RequestHeaders,
4};
5use crate::gemini::types::HttpMethod as GeminiHttpMethod;
6use crate::transform::utils::TransformError;
7
8impl TryFrom<ClaudeModelListRequest> for GeminiModelListRequest {
9 type Error = TransformError;
10
11 fn try_from(value: ClaudeModelListRequest) -> Result<Self, TransformError> {
12 Ok(Self {
13 method: GeminiHttpMethod::Get,
14 path: PathParameters::default(),
15 query: QueryParameters {
16 page_size: value.query.limit.map(u32::from),
17 page_token: value.query.after_id.or(value.query.before_id),
18 },
19 headers: RequestHeaders::default(),
20 body: RequestBody::default(),
21 })
22 }
23}