#![cfg(feature = "cloudflare_stream")]
#![allow(clippy::too_many_arguments, clippy::type_complexity)]
#![allow(clippy::missing_errors_doc, clippy::doc_markdown, clippy::useless_format)]
#![allow(unused_imports)]
use foundation_netio::{DynNetClient, PreparedRequestBuilder};
use foundation_netio::shared::client::http_client::HttpClient;
use serde::{Deserialize, Serialize};
use foundation_macros::JsonHash;
use super::shared::ApiResponse;
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamAccessRules {
pub action: Option<String>,
pub country: Option<Vec<String>>,
pub ip: Option<Vec<String>>,
#[serde(rename = "type")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamAddAudioTrackResponse {
pub result: Option<StreamAdditionalAudio>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamAdditionalAudio {
pub default: Option<StreamAudioDefault>,
pub label: Option<StreamAudioLabel>,
pub status: Option<StreamAudioState>,
pub uid: Option<StreamIdentifier>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamAllowedOrigins {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamApiResponseSingle {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamAudioDefault {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamAudioLabel {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamAudioState {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamCaptionStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamCaptions {
pub generated: Option<StreamGeneratedCaption>,
pub label: Option<StreamLabel>,
pub language: Option<StreamLanguage>,
pub status: Option<StreamCaptionStatus>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamClipResponseSingle {
pub result: Option<StreamClipping>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamClippedFromVideoUid {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamClipping {
#[serde(rename = "allowedOrigins")]
pub allowed_origins: Option<Vec<String>>,
#[serde(rename = "clippedFromVideoUID")]
pub clipped_from_video_uid: Option<StreamClippedFromVideoUid>,
pub created: Option<StreamClippingCreated>,
pub creator: Option<StreamCreator>,
#[serde(rename = "endTimeSeconds")]
pub end_time_seconds: Option<StreamEndTimeSeconds>,
#[serde(rename = "maxDurationSeconds")]
pub max_duration_seconds: Option<StreamMaxDurationSeconds>,
pub meta: Option<StreamMediaMetadata>,
pub modified: Option<StreamLiveInputModified>,
pub playback: Option<StreamPlayback>,
pub preview: Option<StreamPreview>,
#[serde(rename = "requireSignedURLs")]
pub require_signed_ur_ls: Option<StreamRequireSignedURLs>,
#[serde(rename = "startTimeSeconds")]
pub start_time_seconds: Option<StreamStartTimeSeconds>,
pub status: Option<StreamMediaState>,
#[serde(rename = "thumbnailTimestampPct")]
pub thumbnail_timestamp_pct: Option<StreamThumbnailTimestampPct>,
pub watermark: Option<StreamWatermarkAtUpload>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamClippingCreated {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamCopyAudioTrack {
pub label: StreamAudioLabel,
pub url: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamCreateInputRequest {
#[serde(rename = "defaultCreator")]
pub default_creator: Option<StreamLiveInputDefaultCreator>,
#[serde(rename = "deleteRecordingAfterDays")]
pub delete_recording_after_days: Option<StreamLiveInputRecordingDeletion>,
pub enabled: Option<StreamLiveInputEnabled>,
pub meta: Option<StreamLiveInputMetadata>,
pub recording: Option<StreamLiveInputRecordingSettings>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamCreateOutputRequest {
pub enabled: Option<StreamOutputEnabled>,
#[serde(rename = "streamKey")]
pub stream_key: StreamOutputStreamKey,
pub url: StreamOutputUrl,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamCreated {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamCreator {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDeletedResponse {
pub result: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDirectUploadRequest {
#[serde(rename = "allowedOrigins")]
pub allowed_origins: Option<Vec<String>>,
pub creator: Option<StreamCreator>,
pub expiry: Option<String>,
#[serde(rename = "maxDurationSeconds")]
pub max_duration_seconds: StreamMaxDurationSeconds,
pub meta: Option<StreamMediaMetadata>,
#[serde(rename = "requireSignedURLs")]
pub require_signed_ur_ls: Option<StreamRequireSignedURLs>,
#[serde(rename = "scheduledDeletion")]
pub scheduled_deletion: Option<StreamScheduledDeletion>,
#[serde(rename = "thumbnailTimestampPct")]
pub thumbnail_timestamp_pct: Option<StreamThumbnailTimestampPct>,
pub watermark: Option<StreamWatermarkAtUpload>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDirectUploadResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDownloadPercentComplete {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDownloadStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDownloadUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDownloadedFrom {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDownloads {
#[serde(rename = "percentComplete")]
pub percent_complete: Option<StreamDownloadPercentComplete>,
pub status: Option<StreamDownloadStatus>,
pub url: Option<StreamDownloadUrl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDownloadsResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDownloadsResponseSingle {
pub result: Option<StreamDownloads>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamDuration {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamEditAudioTrack {
pub default: Option<StreamAudioDefault>,
pub label: Option<StreamAudioLabel>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamEndTimeSeconds {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamErrorReasonCode {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamErrorReasonText {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamGeneratedCaption {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamHeight {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInput {
pub height: Option<i64>,
pub width: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputRtmps {
#[serde(rename = "streamKey")]
pub stream_key: Option<StreamInputRtmpsStreamKey>,
pub url: Option<StreamInputRtmpsUrl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputRtmpsStreamKey {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputRtmpsUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputSrt {
pub passphrase: Option<StreamInputSrtStreamPassphrase>,
#[serde(rename = "streamId")]
pub stream_id: Option<StreamInputSrtStreamId>,
pub url: Option<StreamInputSrtUrl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputSrtStreamId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputSrtStreamPassphrase {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputSrtUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputWebrtc {
pub url: Option<StreamInputWebrtcUrl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamInputWebrtcUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamJwk {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamKeyGenerationResponse {
pub result: Option<StreamKeys>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamKeyResponseCollection {
pub result: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamKeys {
pub created: Option<StreamSigningKeyCreated>,
pub id: Option<StreamSchemasIdentifier>,
pub jwk: Option<StreamJwk>,
pub pem: Option<StreamPem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLabel {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLanguage {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLanguageResponseCollection {
pub result: Option<Vec<StreamCaptions>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLanguageResponseSingle {
pub result: Option<StreamCaptions>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamListAudioTrackResponse {
pub result: Option<Vec<StreamAdditionalAudio>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInput {
pub created: Option<StreamLiveInputCreated>,
#[serde(rename = "deleteRecordingAfterDays")]
pub delete_recording_after_days: Option<StreamLiveInputRecordingDeletion>,
pub enabled: Option<StreamLiveInputEnabled>,
pub meta: Option<StreamLiveInputMetadata>,
pub modified: Option<StreamLiveInputModified>,
pub recording: Option<StreamLiveInputRecordingSettings>,
pub rtmps: Option<StreamInputRtmps>,
#[serde(rename = "rtmpsPlayback")]
pub rtmps_playback: Option<StreamPlaybackRtmps>,
pub srt: Option<StreamInputSrt>,
#[serde(rename = "srtPlayback")]
pub srt_playback: Option<StreamPlaybackSrt>,
pub status: Option<StreamLiveInputStatus>,
pub uid: Option<StreamLiveInputIdentifier>,
#[serde(rename = "webRTC")]
pub web_rtc: Option<StreamInputWebrtc>,
#[serde(rename = "webRTCPlayback")]
pub web_rtc_playback: Option<StreamPlaybackWebrtc>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputCreated {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputDefaultCreator {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputMetadata {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputModified {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputObjectWithoutUrl {
pub created: Option<StreamLiveInputCreated>,
#[serde(rename = "deleteRecordingAfterDays")]
pub delete_recording_after_days: Option<StreamLiveInputRecordingDeletion>,
pub enabled: Option<StreamLiveInputEnabled>,
pub meta: Option<StreamLiveInputMetadata>,
pub modified: Option<StreamLiveInputModified>,
pub uid: Option<StreamLiveInputIdentifier>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputRecordingAllowedOrigins {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputRecordingDeletion {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputRecordingHideLiveViewerCount {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputRecordingMode {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputRecordingRequireSignedURLs {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputRecordingSettings {
#[serde(rename = "allowedOrigins")]
pub allowed_origins: Option<Vec<String>>,
#[serde(rename = "hideLiveViewerCount")]
pub hide_live_viewer_count: Option<StreamLiveInputRecordingHideLiveViewerCount>,
pub mode: Option<StreamLiveInputRecordingMode>,
#[serde(rename = "requireSignedURLs")]
pub require_signed_ur_ls: Option<StreamLiveInputRecordingRequireSignedURLs>,
#[serde(rename = "timeoutSeconds")]
pub timeout_seconds: Option<StreamLiveInputRecordingTimeoutSeconds>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputRecordingTimeoutSeconds {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputResponseCollection {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputResponseSingle {
pub result: Option<StreamLiveInput>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamLiveInputStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamMaxDurationSeconds {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamMediaMetadata {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamMediaState {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamMediaStatus {
#[serde(rename = "errorReasonCode")]
pub error_reason_code: Option<StreamErrorReasonCode>,
#[serde(rename = "errorReasonText")]
pub error_reason_text: Option<StreamErrorReasonText>,
#[serde(rename = "pctComplete")]
pub pct_complete: Option<StreamPctComplete>,
pub state: Option<StreamMediaState>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamModified {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamNotificationUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOneTimeUploadExpiry {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOpacity {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOutput {
pub enabled: Option<StreamOutputEnabled>,
#[serde(rename = "streamKey")]
pub stream_key: Option<StreamOutputStreamKey>,
pub uid: Option<StreamOutputIdentifier>,
pub url: Option<StreamOutputUrl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOutputEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOutputIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOutputResponseCollection {
pub result: Option<Vec<StreamOutput>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOutputResponseSingle {
pub result: Option<StreamOutput>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOutputStreamKey {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamOutputUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPadding {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPctComplete {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPem {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlayback {
pub dash: Option<String>,
pub hls: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackRtmps {
#[serde(rename = "streamKey")]
pub stream_key: Option<StreamPlaybackRtmpsStreamKey>,
pub url: Option<StreamPlaybackRtmpsUrl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackRtmpsStreamKey {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackRtmpsUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackSrt {
pub passphrase: Option<StreamPlaybackSrtStreamPassphrase>,
#[serde(rename = "streamId")]
pub stream_id: Option<StreamPlaybackSrtStreamId>,
pub url: Option<StreamPlaybackSrtUrl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackSrtStreamId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackSrtStreamPassphrase {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackSrtUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackWebrtc {
pub url: Option<StreamPlaybackWebrtcUrl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPlaybackWebrtcUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPosition {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamPreview {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamReadyToStream {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamReadyToStreamAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamRequireSignedURLs {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamScale {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamScheduledDeletion {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamSchemasIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamSignedTokenRequest {
#[serde(rename = "accessRules")]
pub access_rules: Option<Vec<StreamAccessRules>>,
pub downloadable: Option<bool>,
pub exp: Option<i64>,
pub id: Option<String>,
pub nbf: Option<i64>,
pub pem: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamSignedTokenResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamSigningKeyCreated {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamSize {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamStartTimeSeconds {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamStorageUseResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesResponse {
pub result: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamThumbnailTimestampPct {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamThumbnailUrl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamUpdateInputRequest {
#[serde(rename = "defaultCreator")]
pub default_creator: Option<StreamLiveInputDefaultCreator>,
#[serde(rename = "deleteRecordingAfterDays")]
pub delete_recording_after_days: Option<StreamLiveInputRecordingDeletion>,
pub enabled: Option<StreamLiveInputEnabled>,
pub meta: Option<StreamLiveInputMetadata>,
pub recording: Option<StreamLiveInputRecordingSettings>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamUpdateOutputRequest {
pub enabled: StreamOutputEnabled,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamUploaded {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamVideoClipStandard {
#[serde(rename = "allowedOrigins")]
pub allowed_origins: Option<Vec<String>>,
#[serde(rename = "clippedFromVideoUID")]
pub clipped_from_video_uid: StreamClippedFromVideoUid,
pub creator: Option<StreamCreator>,
#[serde(rename = "endTimeSeconds")]
pub end_time_seconds: StreamEndTimeSeconds,
#[serde(rename = "maxDurationSeconds")]
pub max_duration_seconds: Option<StreamMaxDurationSeconds>,
#[serde(rename = "requireSignedURLs")]
pub require_signed_ur_ls: Option<StreamRequireSignedURLs>,
#[serde(rename = "startTimeSeconds")]
pub start_time_seconds: StreamStartTimeSeconds,
#[serde(rename = "thumbnailTimestampPct")]
pub thumbnail_timestamp_pct: Option<StreamThumbnailTimestampPct>,
pub watermark: Option<StreamWatermarkAtUpload>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamVideoCopyRequest {
#[serde(rename = "allowedOrigins")]
pub allowed_origins: Option<Vec<String>>,
pub creator: Option<StreamCreator>,
pub meta: Option<StreamMediaMetadata>,
#[serde(rename = "requireSignedURLs")]
pub require_signed_ur_ls: Option<StreamRequireSignedURLs>,
#[serde(rename = "scheduledDeletion")]
pub scheduled_deletion: Option<StreamScheduledDeletion>,
#[serde(rename = "thumbnailTimestampPct")]
pub thumbnail_timestamp_pct: Option<StreamThumbnailTimestampPct>,
pub url: String,
pub watermark: Option<StreamWatermarkAtUpload>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamVideoResponseSingle {
pub result: Option<StreamVideos>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamVideoUpdate {
#[serde(rename = "allowedOrigins")]
pub allowed_origins: Option<Vec<String>>,
pub creator: Option<StreamCreator>,
#[serde(rename = "maxDurationSeconds")]
pub max_duration_seconds: Option<StreamMaxDurationSeconds>,
pub meta: Option<StreamMediaMetadata>,
#[serde(rename = "requireSignedURLs")]
pub require_signed_ur_ls: Option<StreamRequireSignedURLs>,
#[serde(rename = "scheduledDeletion")]
pub scheduled_deletion: Option<StreamScheduledDeletion>,
#[serde(rename = "thumbnailTimestampPct")]
pub thumbnail_timestamp_pct: Option<StreamThumbnailTimestampPct>,
#[serde(rename = "uploadExpiry")]
pub upload_expiry: Option<StreamOneTimeUploadExpiry>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamVideos {
#[serde(rename = "allowedOrigins")]
pub allowed_origins: Option<Vec<String>>,
pub created: Option<StreamCreated>,
pub creator: Option<StreamCreator>,
pub duration: Option<StreamDuration>,
pub input: Option<StreamInput>,
#[serde(rename = "liveInput")]
pub live_input: Option<StreamLiveInput>,
#[serde(rename = "maxDurationSeconds")]
pub max_duration_seconds: Option<StreamMaxDurationSeconds>,
pub meta: Option<StreamMediaMetadata>,
pub modified: Option<StreamModified>,
pub playback: Option<StreamPlayback>,
pub preview: Option<StreamPreview>,
#[serde(rename = "readyToStream")]
pub ready_to_stream: Option<StreamReadyToStream>,
#[serde(rename = "readyToStreamAt")]
pub ready_to_stream_at: Option<StreamReadyToStreamAt>,
#[serde(rename = "requireSignedURLs")]
pub require_signed_ur_ls: Option<StreamRequireSignedURLs>,
#[serde(rename = "scheduledDeletion")]
pub scheduled_deletion: Option<StreamScheduledDeletion>,
pub size: Option<StreamSize>,
pub status: Option<StreamMediaStatus>,
pub thumbnail: Option<StreamThumbnailUrl>,
#[serde(rename = "thumbnailTimestampPct")]
pub thumbnail_timestamp_pct: Option<StreamThumbnailTimestampPct>,
pub uid: Option<StreamIdentifier>,
#[serde(rename = "uploadExpiry")]
pub upload_expiry: Option<StreamOneTimeUploadExpiry>,
pub uploaded: Option<StreamUploaded>,
pub watermark: Option<StreamWatermarks>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWatermarkAtUpload {
pub uid: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWatermarkCreated {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWatermarkIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWatermarkProfileDeleteWatermarkProfilesResponse {
pub result: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWatermarkResponseCollection {
pub result: Option<Vec<StreamWatermarks>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWatermarkResponseSingle {
pub result: Option<StreamWatermarks>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWatermarkSize {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWatermarks {
pub created: Option<StreamWatermarkCreated>,
#[serde(rename = "downloadedFrom")]
pub downloaded_from: Option<StreamDownloadedFrom>,
pub height: Option<StreamHeight>,
pub name: Option<StreamName>,
pub opacity: Option<StreamOpacity>,
pub padding: Option<StreamPadding>,
pub position: Option<StreamPosition>,
pub scale: Option<StreamScale>,
pub size: Option<StreamWatermarkSize>,
pub uid: Option<StreamWatermarkIdentifier>,
pub width: Option<StreamWidth>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWebhookRequest {
#[serde(rename = "notificationUrl")]
pub notification_url: StreamNotificationUrl,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWebhookResponseSingle {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct StreamWidth {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideoClippingClipVideosGivenAStartAndEndTimeArgs {
pub account_id: String,
pub body: StreamVideoClipStandard,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideosUploadVideosFromAUrlArgs {
pub account_id: String,
pub body: StreamVideoCopyRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideosUploadVideosViaDirectUploadUrLsArgs {
pub account_id: String,
pub body: StreamDirectUploadRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSigningKeysListSigningKeysArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSigningKeysCreateSigningKeysArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSigningKeysDeleteSigningKeysArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsListLiveInputsArgs {
pub account_id: String,
pub include_counts: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsCreateALiveInputArgs {
pub account_id: String,
pub body: StreamCreateInputRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsRetrieveALiveInputArgs {
pub live_input_identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsUpdateALiveInputArgs {
pub live_input_identifier: String,
pub account_id: String,
pub body: StreamUpdateInputRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsDeleteALiveInputArgs {
pub live_input_identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsDisableALiveInputArgs {
pub live_input_identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsEnableALiveInputArgs {
pub live_input_identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputArgs {
pub live_input_identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsCreateANewOutputConnectedToALiveInputArgs {
pub live_input_identifier: String,
pub account_id: String,
pub body: StreamCreateOutputRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsUpdateAnOutputArgs {
pub output_identifier: String,
pub live_input_identifier: String,
pub account_id: String,
pub body: StreamUpdateOutputRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamLiveInputsDeleteAnOutputArgs {
pub output_identifier: String,
pub live_input_identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideosStorageUsageArgs {
pub account_id: String,
pub creator: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamWatermarkProfileListWatermarkProfilesArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamWatermarkProfileWatermarkProfileDetailsArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamWatermarkProfileDeleteWatermarkProfilesArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamWebhookViewWebhooksArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamWebhookCreateWebhooksArgs {
pub account_id: String,
pub body: StreamWebhookRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamWebhookDeleteWebhooksArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideosRetrieveVideoDetailsArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideosUpdateVideoDetailsArgs {
pub identifier: String,
pub account_id: String,
pub body: StreamVideoUpdate,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideosDeleteVideoArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ListAudioTracksArgs {
pub account_id: String,
pub identifier: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct AddAudioTrackArgs {
pub account_id: String,
pub identifier: String,
pub body: StreamCopyAudioTrack,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct EditAudioTracksArgs {
pub account_id: String,
pub identifier: String,
pub audio_identifier: String,
pub body: StreamEditAudioTrack,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeleteAudioTracksArgs {
pub account_id: String,
pub identifier: String,
pub audio_identifier: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSubtitlesCaptionsListCaptionsOrSubtitlesArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguageArgs {
pub language: String,
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesArgs {
pub language: String,
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesArgs {
pub language: String,
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguageArgs {
pub language: String,
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamSubtitlesCaptionsGetVttCaptionOrSubtitleArgs {
pub language: String,
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamMP4DownloadsListDownloadsArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamMP4DownloadsCreateDownloadsArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamMP4DownloadsDeleteDownloadsArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamDownloadsCreateTypeSpecificDownloadsArgs {
pub identifier: String,
pub account_id: String,
pub download_type: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamDownloadsDeleteTypeSpecificDownloadsArgs {
pub identifier: String,
pub account_id: String,
pub download_type: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideosRetreieveEmbedCodeHtmlArgs {
pub identifier: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct StreamVideosCreateSignedUrlTokensForVideosArgs {
pub identifier: String,
pub account_id: String,
pub body: StreamSignedTokenRequest,
}
pub async fn stream_video_clipping_clip_videos_given_a_start_and_end_time_request<F>(
client: DynNetClient,
args: &StreamVideoClippingClipVideosGivenAStartAndEndTimeArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamClipResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/clip",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamClipResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_videos_upload_videos_from_a_url_request<F>(
client: DynNetClient,
args: &StreamVideosUploadVideosFromAUrlArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamVideoResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/copy",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamVideoResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_videos_upload_videos_via_direct_upload_ur_ls_request<F>(
client: DynNetClient,
args: &StreamVideosUploadVideosViaDirectUploadUrLsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDirectUploadResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/direct_upload",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDirectUploadResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_signing_keys_list_signing_keys_request<F>(
client: DynNetClient,
args: &StreamSigningKeysListSigningKeysArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamKeyResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/keys",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamKeyResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_signing_keys_create_signing_keys_request<F>(
client: DynNetClient,
args: &StreamSigningKeysCreateSigningKeysArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamKeyGenerationResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/keys",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamKeyGenerationResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_signing_keys_delete_signing_keys_request<F>(
client: DynNetClient,
args: &StreamSigningKeysDeleteSigningKeysArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/keys/{}",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDeletedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_list_live_inputs_request<F>(
client: DynNetClient,
args: &StreamLiveInputsListLiveInputsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLiveInputResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("include_counts", args.include_counts.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLiveInputResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_create_a_live_input_request<F>(
client: DynNetClient,
args: &StreamLiveInputsCreateALiveInputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLiveInputResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLiveInputResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_retrieve_a_live_input_request<F>(
client: DynNetClient,
args: &StreamLiveInputsRetrieveALiveInputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLiveInputResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}",
args.account_id,
args.live_input_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLiveInputResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_update_a_live_input_request<F>(
client: DynNetClient,
args: &StreamLiveInputsUpdateALiveInputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLiveInputResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}",
args.account_id,
args.live_input_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLiveInputResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_delete_a_live_input_request<F>(
client: DynNetClient,
args: &StreamLiveInputsDeleteALiveInputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}",
args.account_id,
args.live_input_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn stream_live_inputs_disable_a_live_input_request<F>(
client: DynNetClient,
args: &StreamLiveInputsDisableALiveInputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLiveInputResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}/disable",
args.account_id,
args.live_input_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLiveInputResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_enable_a_live_input_request<F>(
client: DynNetClient,
args: &StreamLiveInputsEnableALiveInputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLiveInputResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}/enable",
args.account_id,
args.live_input_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLiveInputResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_list_all_outputs_associated_with_a_specified_live_input_request<F>(
client: DynNetClient,
args: &StreamLiveInputsListAllOutputsAssociatedWithASpecifiedLiveInputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamOutputResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}/outputs",
args.account_id,
args.live_input_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamOutputResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_create_a_new_output_connected_to_a_live_input_request<F>(
client: DynNetClient,
args: &StreamLiveInputsCreateANewOutputConnectedToALiveInputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamOutputResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}/outputs",
args.account_id,
args.live_input_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamOutputResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_update_an_output_request<F>(
client: DynNetClient,
args: &StreamLiveInputsUpdateAnOutputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamOutputResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}/outputs/{}",
args.account_id,
args.live_input_identifier,
args.output_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamOutputResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_live_inputs_delete_an_output_request<F>(
client: DynNetClient,
args: &StreamLiveInputsDeleteAnOutputArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/live_inputs/{}/outputs/{}",
args.account_id,
args.live_input_identifier,
args.output_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn stream_videos_storage_usage_request<F>(
client: DynNetClient,
args: &StreamVideosStorageUsageArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamStorageUseResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/storage-usage",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("creator", args.creator.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamStorageUseResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_watermark_profile_list_watermark_profiles_request<F>(
client: DynNetClient,
args: &StreamWatermarkProfileListWatermarkProfilesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamWatermarkResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/watermarks",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamWatermarkResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_watermark_profile_create_watermark_profiles_via_basic_upload_request<F>(
client: DynNetClient,
args: &StreamWatermarkProfileCreateWatermarkProfilesViaBasicUploadArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamWatermarkResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/watermarks",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamWatermarkResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_watermark_profile_watermark_profile_details_request<F>(
client: DynNetClient,
args: &StreamWatermarkProfileWatermarkProfileDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamWatermarkResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/watermarks/{}",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamWatermarkResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_watermark_profile_delete_watermark_profiles_request<F>(
client: DynNetClient,
args: &StreamWatermarkProfileDeleteWatermarkProfilesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamWatermarkProfileDeleteWatermarkProfilesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/watermarks/{}",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamWatermarkProfileDeleteWatermarkProfilesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_webhook_view_webhooks_request<F>(
client: DynNetClient,
args: &StreamWebhookViewWebhooksArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamWebhookResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/webhook",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamWebhookResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_webhook_create_webhooks_request<F>(
client: DynNetClient,
args: &StreamWebhookCreateWebhooksArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamWebhookResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/webhook",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamWebhookResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_webhook_delete_webhooks_request<F>(
client: DynNetClient,
args: &StreamWebhookDeleteWebhooksArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/webhook",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDeletedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_videos_retrieve_video_details_request<F>(
client: DynNetClient,
args: &StreamVideosRetrieveVideoDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamVideoResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamVideoResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_videos_update_video_details_request<F>(
client: DynNetClient,
args: &StreamVideosUpdateVideoDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamVideoResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamVideoResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_videos_delete_video_request<F>(
client: DynNetClient,
args: &StreamVideosDeleteVideoArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn list_audio_tracks_request<F>(
client: DynNetClient,
args: &ListAudioTracksArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamListAudioTrackResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/audio",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamListAudioTrackResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn add_audio_track_request<F>(
client: DynNetClient,
args: &AddAudioTrackArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamAddAudioTrackResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/audio/copy",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamAddAudioTrackResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn edit_audio_tracks_request<F>(
client: DynNetClient,
args: &EditAudioTracksArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamAddAudioTrackResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/audio/{}",
args.account_id,
args.identifier,
args.audio_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamAddAudioTrackResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn delete_audio_tracks_request<F>(
client: DynNetClient,
args: &DeleteAudioTracksArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/audio/{}",
args.account_id,
args.identifier,
args.audio_identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDeletedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_subtitles_captions_list_captions_or_subtitles_request<F>(
client: DynNetClient,
args: &StreamSubtitlesCaptionsListCaptionsOrSubtitlesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLanguageResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/captions",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLanguageResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_subtitles_captions_get_caption_or_subtitle_for_language_request<F>(
client: DynNetClient,
args: &StreamSubtitlesCaptionsGetCaptionOrSubtitleForLanguageArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLanguageResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/captions/{}",
args.account_id,
args.identifier,
args.language,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLanguageResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_subtitles_captions_upload_captions_or_subtitles_request<F>(
client: DynNetClient,
args: &StreamSubtitlesCaptionsUploadCaptionsOrSubtitlesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLanguageResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/captions/{}",
args.account_id,
args.identifier,
args.language,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLanguageResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_subtitles_captions_delete_captions_or_subtitles_request<F>(
client: DynNetClient,
args: &StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/captions/{}",
args.account_id,
args.identifier,
args.language,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamSubtitlesCaptionsDeleteCaptionsOrSubtitlesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_subtitles_captions_generate_caption_or_subtitle_for_language_request<F>(
client: DynNetClient,
args: &StreamSubtitlesCaptionsGenerateCaptionOrSubtitleForLanguageArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamLanguageResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/captions/{}/generate",
args.account_id,
args.identifier,
args.language,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamLanguageResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_subtitles_captions_get_vtt_caption_or_subtitle_request<F>(
client: DynNetClient,
args: &StreamSubtitlesCaptionsGetVttCaptionOrSubtitleArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/captions/{}/vtt",
args.account_id,
args.identifier,
args.language,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn stream_m_p_4_downloads_list_downloads_request<F>(
client: DynNetClient,
args: &StreamMP4DownloadsListDownloadsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDownloadsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/downloads",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDownloadsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_m_p_4_downloads_create_downloads_request<F>(
client: DynNetClient,
args: &StreamMP4DownloadsCreateDownloadsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDownloadsResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/downloads",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDownloadsResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_m_p_4_downloads_delete_downloads_request<F>(
client: DynNetClient,
args: &StreamMP4DownloadsDeleteDownloadsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/downloads",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDeletedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_downloads_create_type_specific_downloads_request<F>(
client: DynNetClient,
args: &StreamDownloadsCreateTypeSpecificDownloadsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDownloadsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/downloads/{}",
args.account_id,
args.identifier,
args.download_type,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDownloadsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_downloads_delete_type_specific_downloads_request<F>(
client: DynNetClient,
args: &StreamDownloadsDeleteTypeSpecificDownloadsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/downloads/{}",
args.account_id,
args.identifier,
args.download_type,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamDeletedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_videos_retreieve_embed_code_html_request<F>(
client: DynNetClient,
args: &StreamVideosRetreieveEmbedCodeHtmlArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<serde_json::Value>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/embed",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: serde_json::Value = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn stream_videos_create_signed_url_tokens_for_videos_request<F>(
client: DynNetClient,
args: &StreamVideosCreateSignedUrlTokensForVideosArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<StreamSignedTokenResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/stream/{}/token",
args.account_id,
args.identifier,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: StreamSignedTokenResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}