gproxy_protocol/claude/file_download/
response.rs1use http::StatusCode;
2use serde::{Deserialize, Serialize};
3
4use crate::claude::types::{BetaErrorResponse, ClaudeResponseHeaders};
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
11pub struct ResponseBody {
12 pub content: Vec<u8>,
14 #[serde(default, skip_serializing_if = "Option::is_none")]
16 pub content_type: Option<String>,
17}
18
19#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
21#[serde(untagged)]
22pub enum ClaudeFileDownloadResponse {
23 Success {
24 #[serde(with = "crate::claude::types::status_code_serde")]
25 stats_code: StatusCode,
26 headers: ClaudeResponseHeaders,
27 body: ResponseBody,
28 },
29 Error {
30 #[serde(with = "crate::claude::types::status_code_serde")]
31 stats_code: StatusCode,
32 headers: ClaudeResponseHeaders,
33 body: BetaErrorResponse,
34 },
35}