steam-user 0.1.0

Steam User web client for Rust - HTTP-based Steam Community interactions
Documentation
/// Result returned by the
/// [`begin_file_upload`](crate::client::SteamUser::begin_file_upload) call.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct BeginFileUploadResult {
    pub success: i32,
    pub url_host: String,
    pub url_path: String,
    pub use_https: i32,
    pub request_headers: Vec<RequestHeader>,
    pub timestamp: String,
    pub ugcid: String,
    pub hmac: String,
    pub file_name: String,
    pub file_sha: String,
    pub file_image_width: u32,
    pub file_image_height: u32,
    pub file_type: String,
}

/// An HTTP header name/value pair returned as part of a file-upload handshake.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct RequestHeader {
    pub name: String,
    pub value: String,
}

/// Parameters required to commit an uploaded file on the Steam servers.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CommitFileUploadParams {
    pub file_name: String,
    pub file_sha: String,
    pub file_image_width: u32,
    pub file_image_height: u32,
    pub file_type: String,
    pub ugcid: String,
    pub timestamp: String,
    pub hmac: String,
    pub friend_steamid: Option<String>,
}

/// Response from
/// [`commit_file_upload`](crate::client::SteamUser::commit_file_upload).
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CommitFileUploadResponse {
    pub success: i32,
    pub result: Option<CommitFileUploadResult>,
    pub error: Option<String>,
}

/// Inner result object within [`CommitFileUploadResponse`].
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CommitFileUploadResult {
    pub details: Option<CommitFileDetails>,
}

/// CDN URL details for a successfully committed file upload.
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct CommitFileDetails {
    pub url: String,
}

/// Raw wire shape of the `/chat/beginfileupload` response.
#[derive(Debug, Clone, Default, serde::Deserialize)]
#[serde(default)]
pub struct BeginFileUploadRaw {
    pub success: i64,
    pub result: Option<BeginFileUploadResultRaw>,
}

/// Inner `result` object inside [`BeginFileUploadRaw`].
#[derive(Debug, Clone, Default, serde::Deserialize)]
#[serde(default)]
pub struct BeginFileUploadResultRaw {
    pub url_host: String,
    pub url_path: String,
    pub use_https: i64,
    pub timestamp: String,
    pub ugcid: String,
    pub hmac: String,
    pub request_headers: Vec<RequestHeader>,
}

/// Raw wire shape of the `/chat/commitfileupload/` response.
#[derive(Debug, Clone, Default, serde::Deserialize)]
#[serde(default)]
pub struct CommitFileUploadRaw {
    pub success: i64,
    pub error: Option<String>,
    pub result: Option<CommitFileUploadResultRaw>,
}

/// Inner `result` object inside [`CommitFileUploadRaw`].
#[derive(Debug, Clone, Default, serde::Deserialize)]
#[serde(default)]
pub struct CommitFileUploadResultRaw {
    pub details: Option<CommitFileDetails>,
}