Skip to main content

gproxy_protocol/transform/gemini/model_list/claude/
request.rs

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