Skip to main content

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

1use crate::claude::model_get::request::ClaudeModelGetRequest;
2use crate::gemini::model_get::request::{
3    GeminiModelGetRequest, PathParameters, QueryParameters, RequestBody, RequestHeaders,
4};
5use crate::gemini::types::HttpMethod as GeminiHttpMethod;
6use crate::transform::claude::model_list::gemini::utils::ensure_models_prefix;
7use crate::transform::utils::TransformError;
8
9impl TryFrom<ClaudeModelGetRequest> for GeminiModelGetRequest {
10    type Error = TransformError;
11
12    fn try_from(value: ClaudeModelGetRequest) -> Result<Self, TransformError> {
13        Ok(Self {
14            method: GeminiHttpMethod::Get,
15            path: PathParameters {
16                name: ensure_models_prefix(&value.path.model_id),
17            },
18            query: QueryParameters::default(),
19            headers: RequestHeaders::default(),
20            body: RequestBody::default(),
21        })
22    }
23}