github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/rust/src/apis/objects_api.rs (about)

     1  /*
     2   * lakeFS API
     3   *
     4   * lakeFS HTTP API
     5   *
     6   * The version of the OpenAPI document: 1.0.0
     7   * Contact: services@treeverse.io
     8   * Generated by: https://openapi-generator.tech
     9   */
    10  
    11  
    12  use reqwest;
    13  
    14  use crate::{apis::ResponseContent, models};
    15  use super::{Error, configuration};
    16  
    17  
    18  /// struct for typed errors of method [`copy_object`]
    19  #[derive(Debug, Clone, Serialize, Deserialize)]
    20  #[serde(untagged)]
    21  pub enum CopyObjectError {
    22      Status400(models::Error),
    23      Status401(models::Error),
    24      Status403(models::Error),
    25      Status404(models::Error),
    26      Status420(),
    27      DefaultResponse(models::Error),
    28      UnknownValue(serde_json::Value),
    29  }
    30  
    31  /// struct for typed errors of method [`delete_object`]
    32  #[derive(Debug, Clone, Serialize, Deserialize)]
    33  #[serde(untagged)]
    34  pub enum DeleteObjectError {
    35      Status401(models::Error),
    36      Status403(models::Error),
    37      Status404(models::Error),
    38      Status420(),
    39      DefaultResponse(models::Error),
    40      UnknownValue(serde_json::Value),
    41  }
    42  
    43  /// struct for typed errors of method [`delete_objects`]
    44  #[derive(Debug, Clone, Serialize, Deserialize)]
    45  #[serde(untagged)]
    46  pub enum DeleteObjectsError {
    47      Status401(models::Error),
    48      Status403(models::Error),
    49      Status404(models::Error),
    50      Status420(),
    51      DefaultResponse(models::Error),
    52      UnknownValue(serde_json::Value),
    53  }
    54  
    55  /// struct for typed errors of method [`get_object`]
    56  #[derive(Debug, Clone, Serialize, Deserialize)]
    57  #[serde(untagged)]
    58  pub enum GetObjectError {
    59      Status401(models::Error),
    60      Status404(models::Error),
    61      Status410(models::Error),
    62      Status416(models::Error),
    63      Status420(),
    64      DefaultResponse(models::Error),
    65      UnknownValue(serde_json::Value),
    66  }
    67  
    68  /// struct for typed errors of method [`get_underlying_properties`]
    69  #[derive(Debug, Clone, Serialize, Deserialize)]
    70  #[serde(untagged)]
    71  pub enum GetUnderlyingPropertiesError {
    72      Status401(models::Error),
    73      Status404(models::Error),
    74      Status420(),
    75      DefaultResponse(models::Error),
    76      UnknownValue(serde_json::Value),
    77  }
    78  
    79  /// struct for typed errors of method [`head_object`]
    80  #[derive(Debug, Clone, Serialize, Deserialize)]
    81  #[serde(untagged)]
    82  pub enum HeadObjectError {
    83      Status401(),
    84      Status404(),
    85      Status410(),
    86      Status416(),
    87      Status420(),
    88      DefaultResponse(),
    89      UnknownValue(serde_json::Value),
    90  }
    91  
    92  /// struct for typed errors of method [`list_objects`]
    93  #[derive(Debug, Clone, Serialize, Deserialize)]
    94  #[serde(untagged)]
    95  pub enum ListObjectsError {
    96      Status401(models::Error),
    97      Status404(models::Error),
    98      Status420(),
    99      DefaultResponse(models::Error),
   100      UnknownValue(serde_json::Value),
   101  }
   102  
   103  /// struct for typed errors of method [`stat_object`]
   104  #[derive(Debug, Clone, Serialize, Deserialize)]
   105  #[serde(untagged)]
   106  pub enum StatObjectError {
   107      Status401(models::Error),
   108      Status404(models::Error),
   109      Status400(models::Error),
   110      Status410(),
   111      Status420(),
   112      DefaultResponse(models::Error),
   113      UnknownValue(serde_json::Value),
   114  }
   115  
   116  /// struct for typed errors of method [`upload_object`]
   117  #[derive(Debug, Clone, Serialize, Deserialize)]
   118  #[serde(untagged)]
   119  pub enum UploadObjectError {
   120      Status400(models::Error),
   121      Status401(models::Error),
   122      Status403(models::Error),
   123      Status404(models::Error),
   124      Status412(models::Error),
   125      Status420(),
   126      DefaultResponse(models::Error),
   127      UnknownValue(serde_json::Value),
   128  }
   129  
   130  
   131  pub async fn copy_object(configuration: &configuration::Configuration, repository: &str, branch: &str, dest_path: &str, object_copy_creation: models::ObjectCopyCreation) -> Result<models::ObjectStats, Error<CopyObjectError>> {
   132      let local_var_configuration = configuration;
   133  
   134      let local_var_client = &local_var_configuration.client;
   135  
   136      let local_var_uri_str = format!("{}/repositories/{repository}/branches/{branch}/objects/copy", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), branch=crate::apis::urlencode(branch));
   137      let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
   138  
   139      local_var_req_builder = local_var_req_builder.query(&[("dest_path", &dest_path.to_string())]);
   140      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   141          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   142      }
   143      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   144          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   145      };
   146      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   147          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   148      };
   149      local_var_req_builder = local_var_req_builder.json(&object_copy_creation);
   150  
   151      let local_var_req = local_var_req_builder.build()?;
   152      let local_var_resp = local_var_client.execute(local_var_req).await?;
   153  
   154      let local_var_status = local_var_resp.status();
   155      let local_var_content = local_var_resp.text().await?;
   156  
   157      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   158          serde_json::from_str(&local_var_content).map_err(Error::from)
   159      } else {
   160          let local_var_entity: Option<CopyObjectError> = serde_json::from_str(&local_var_content).ok();
   161          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   162          Err(Error::ResponseError(local_var_error))
   163      }
   164  }
   165  
   166  pub async fn delete_object(configuration: &configuration::Configuration, repository: &str, branch: &str, path: &str, force: Option<bool>) -> Result<(), Error<DeleteObjectError>> {
   167      let local_var_configuration = configuration;
   168  
   169      let local_var_client = &local_var_configuration.client;
   170  
   171      let local_var_uri_str = format!("{}/repositories/{repository}/branches/{branch}/objects", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), branch=crate::apis::urlencode(branch));
   172      let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
   173  
   174      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   175      if let Some(ref local_var_str) = force {
   176          local_var_req_builder = local_var_req_builder.query(&[("force", &local_var_str.to_string())]);
   177      }
   178      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   179          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   180      }
   181      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   182          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   183      };
   184      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   185          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   186      };
   187  
   188      let local_var_req = local_var_req_builder.build()?;
   189      let local_var_resp = local_var_client.execute(local_var_req).await?;
   190  
   191      let local_var_status = local_var_resp.status();
   192      let local_var_content = local_var_resp.text().await?;
   193  
   194      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   195          Ok(())
   196      } else {
   197          let local_var_entity: Option<DeleteObjectError> = serde_json::from_str(&local_var_content).ok();
   198          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   199          Err(Error::ResponseError(local_var_error))
   200      }
   201  }
   202  
   203  pub async fn delete_objects(configuration: &configuration::Configuration, repository: &str, branch: &str, path_list: models::PathList, force: Option<bool>) -> Result<models::ObjectErrorList, Error<DeleteObjectsError>> {
   204      let local_var_configuration = configuration;
   205  
   206      let local_var_client = &local_var_configuration.client;
   207  
   208      let local_var_uri_str = format!("{}/repositories/{repository}/branches/{branch}/objects/delete", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), branch=crate::apis::urlencode(branch));
   209      let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
   210  
   211      if let Some(ref local_var_str) = force {
   212          local_var_req_builder = local_var_req_builder.query(&[("force", &local_var_str.to_string())]);
   213      }
   214      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   215          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   216      }
   217      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   218          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   219      };
   220      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   221          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   222      };
   223      local_var_req_builder = local_var_req_builder.json(&path_list);
   224  
   225      let local_var_req = local_var_req_builder.build()?;
   226      let local_var_resp = local_var_client.execute(local_var_req).await?;
   227  
   228      let local_var_status = local_var_resp.status();
   229      let local_var_content = local_var_resp.text().await?;
   230  
   231      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   232          serde_json::from_str(&local_var_content).map_err(Error::from)
   233      } else {
   234          let local_var_entity: Option<DeleteObjectsError> = serde_json::from_str(&local_var_content).ok();
   235          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   236          Err(Error::ResponseError(local_var_error))
   237      }
   238  }
   239  
   240  pub async fn get_object(configuration: &configuration::Configuration, repository: &str, r#ref: &str, path: &str, range: Option<&str>, if_none_match: Option<&str>, presign: Option<bool>) -> Result<std::path::PathBuf, Error<GetObjectError>> {
   241      let local_var_configuration = configuration;
   242  
   243      let local_var_client = &local_var_configuration.client;
   244  
   245      let local_var_uri_str = format!("{}/repositories/{repository}/refs/{ref}/objects", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), ref=crate::apis::urlencode(r#ref));
   246      let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
   247  
   248      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   249      if let Some(ref local_var_str) = presign {
   250          local_var_req_builder = local_var_req_builder.query(&[("presign", &local_var_str.to_string())]);
   251      }
   252      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   253          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   254      }
   255      if let Some(local_var_param_value) = range {
   256          local_var_req_builder = local_var_req_builder.header("Range", local_var_param_value.to_string());
   257      }
   258      if let Some(local_var_param_value) = if_none_match {
   259          local_var_req_builder = local_var_req_builder.header("If-None-Match", local_var_param_value.to_string());
   260      }
   261      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   262          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   263      };
   264      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   265          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   266      };
   267  
   268      let local_var_req = local_var_req_builder.build()?;
   269      let local_var_resp = local_var_client.execute(local_var_req).await?;
   270  
   271      let local_var_status = local_var_resp.status();
   272      let local_var_content = local_var_resp.text().await?;
   273  
   274      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   275          serde_json::from_str(&local_var_content).map_err(Error::from)
   276      } else {
   277          let local_var_entity: Option<GetObjectError> = serde_json::from_str(&local_var_content).ok();
   278          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   279          Err(Error::ResponseError(local_var_error))
   280      }
   281  }
   282  
   283  pub async fn get_underlying_properties(configuration: &configuration::Configuration, repository: &str, r#ref: &str, path: &str) -> Result<models::UnderlyingObjectProperties, Error<GetUnderlyingPropertiesError>> {
   284      let local_var_configuration = configuration;
   285  
   286      let local_var_client = &local_var_configuration.client;
   287  
   288      let local_var_uri_str = format!("{}/repositories/{repository}/refs/{ref}/objects/underlyingProperties", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), ref=crate::apis::urlencode(r#ref));
   289      let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
   290  
   291      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   292      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   293          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   294      }
   295      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   296          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   297      };
   298      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   299          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   300      };
   301  
   302      let local_var_req = local_var_req_builder.build()?;
   303      let local_var_resp = local_var_client.execute(local_var_req).await?;
   304  
   305      let local_var_status = local_var_resp.status();
   306      let local_var_content = local_var_resp.text().await?;
   307  
   308      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   309          serde_json::from_str(&local_var_content).map_err(Error::from)
   310      } else {
   311          let local_var_entity: Option<GetUnderlyingPropertiesError> = serde_json::from_str(&local_var_content).ok();
   312          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   313          Err(Error::ResponseError(local_var_error))
   314      }
   315  }
   316  
   317  pub async fn head_object(configuration: &configuration::Configuration, repository: &str, r#ref: &str, path: &str, range: Option<&str>) -> Result<(), Error<HeadObjectError>> {
   318      let local_var_configuration = configuration;
   319  
   320      let local_var_client = &local_var_configuration.client;
   321  
   322      let local_var_uri_str = format!("{}/repositories/{repository}/refs/{ref}/objects", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), ref=crate::apis::urlencode(r#ref));
   323      let mut local_var_req_builder = local_var_client.request(reqwest::Method::HEAD, local_var_uri_str.as_str());
   324  
   325      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   326      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   327          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   328      }
   329      if let Some(local_var_param_value) = range {
   330          local_var_req_builder = local_var_req_builder.header("Range", local_var_param_value.to_string());
   331      }
   332      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   333          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   334      };
   335      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   336          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   337      };
   338  
   339      let local_var_req = local_var_req_builder.build()?;
   340      let local_var_resp = local_var_client.execute(local_var_req).await?;
   341  
   342      let local_var_status = local_var_resp.status();
   343      let local_var_content = local_var_resp.text().await?;
   344  
   345      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   346          Ok(())
   347      } else {
   348          let local_var_entity: Option<HeadObjectError> = serde_json::from_str(&local_var_content).ok();
   349          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   350          Err(Error::ResponseError(local_var_error))
   351      }
   352  }
   353  
   354  pub async fn list_objects(configuration: &configuration::Configuration, repository: &str, r#ref: &str, user_metadata: Option<bool>, presign: Option<bool>, after: Option<&str>, amount: Option<i32>, delimiter: Option<&str>, prefix: Option<&str>) -> Result<models::ObjectStatsList, Error<ListObjectsError>> {
   355      let local_var_configuration = configuration;
   356  
   357      let local_var_client = &local_var_configuration.client;
   358  
   359      let local_var_uri_str = format!("{}/repositories/{repository}/refs/{ref}/objects/ls", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), ref=crate::apis::urlencode(r#ref));
   360      let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
   361  
   362      if let Some(ref local_var_str) = user_metadata {
   363          local_var_req_builder = local_var_req_builder.query(&[("user_metadata", &local_var_str.to_string())]);
   364      }
   365      if let Some(ref local_var_str) = presign {
   366          local_var_req_builder = local_var_req_builder.query(&[("presign", &local_var_str.to_string())]);
   367      }
   368      if let Some(ref local_var_str) = after {
   369          local_var_req_builder = local_var_req_builder.query(&[("after", &local_var_str.to_string())]);
   370      }
   371      if let Some(ref local_var_str) = amount {
   372          local_var_req_builder = local_var_req_builder.query(&[("amount", &local_var_str.to_string())]);
   373      }
   374      if let Some(ref local_var_str) = delimiter {
   375          local_var_req_builder = local_var_req_builder.query(&[("delimiter", &local_var_str.to_string())]);
   376      }
   377      if let Some(ref local_var_str) = prefix {
   378          local_var_req_builder = local_var_req_builder.query(&[("prefix", &local_var_str.to_string())]);
   379      }
   380      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   381          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   382      }
   383      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   384          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   385      };
   386      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   387          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   388      };
   389  
   390      let local_var_req = local_var_req_builder.build()?;
   391      let local_var_resp = local_var_client.execute(local_var_req).await?;
   392  
   393      let local_var_status = local_var_resp.status();
   394      let local_var_content = local_var_resp.text().await?;
   395  
   396      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   397          serde_json::from_str(&local_var_content).map_err(Error::from)
   398      } else {
   399          let local_var_entity: Option<ListObjectsError> = serde_json::from_str(&local_var_content).ok();
   400          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   401          Err(Error::ResponseError(local_var_error))
   402      }
   403  }
   404  
   405  pub async fn stat_object(configuration: &configuration::Configuration, repository: &str, r#ref: &str, path: &str, user_metadata: Option<bool>, presign: Option<bool>) -> Result<models::ObjectStats, Error<StatObjectError>> {
   406      let local_var_configuration = configuration;
   407  
   408      let local_var_client = &local_var_configuration.client;
   409  
   410      let local_var_uri_str = format!("{}/repositories/{repository}/refs/{ref}/objects/stat", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), ref=crate::apis::urlencode(r#ref));
   411      let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
   412  
   413      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   414      if let Some(ref local_var_str) = user_metadata {
   415          local_var_req_builder = local_var_req_builder.query(&[("user_metadata", &local_var_str.to_string())]);
   416      }
   417      if let Some(ref local_var_str) = presign {
   418          local_var_req_builder = local_var_req_builder.query(&[("presign", &local_var_str.to_string())]);
   419      }
   420      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   421          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   422      }
   423      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   424          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   425      };
   426      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   427          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   428      };
   429  
   430      let local_var_req = local_var_req_builder.build()?;
   431      let local_var_resp = local_var_client.execute(local_var_req).await?;
   432  
   433      let local_var_status = local_var_resp.status();
   434      let local_var_content = local_var_resp.text().await?;
   435  
   436      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   437          serde_json::from_str(&local_var_content).map_err(Error::from)
   438      } else {
   439          let local_var_entity: Option<StatObjectError> = serde_json::from_str(&local_var_content).ok();
   440          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   441          Err(Error::ResponseError(local_var_error))
   442      }
   443  }
   444  
   445  pub async fn upload_object(configuration: &configuration::Configuration, repository: &str, branch: &str, path: &str, if_none_match: Option<&str>, storage_class: Option<&str>, force: Option<bool>, content: Option<std::path::PathBuf>) -> Result<models::ObjectStats, Error<UploadObjectError>> {
   446      let local_var_configuration = configuration;
   447  
   448      let local_var_client = &local_var_configuration.client;
   449  
   450      let local_var_uri_str = format!("{}/repositories/{repository}/branches/{branch}/objects", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), branch=crate::apis::urlencode(branch));
   451      let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
   452  
   453      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   454      if let Some(ref local_var_str) = storage_class {
   455          local_var_req_builder = local_var_req_builder.query(&[("storageClass", &local_var_str.to_string())]);
   456      }
   457      if let Some(ref local_var_str) = force {
   458          local_var_req_builder = local_var_req_builder.query(&[("force", &local_var_str.to_string())]);
   459      }
   460      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   461          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   462      }
   463      if let Some(local_var_param_value) = if_none_match {
   464          local_var_req_builder = local_var_req_builder.header("If-None-Match", local_var_param_value.to_string());
   465      }
   466      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   467          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   468      };
   469      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   470          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   471      };
   472      let mut local_var_form = reqwest::multipart::Form::new();
   473      // TODO: support file upload for 'content' parameter
   474      local_var_req_builder = local_var_req_builder.multipart(local_var_form);
   475  
   476      let local_var_req = local_var_req_builder.build()?;
   477      let local_var_resp = local_var_client.execute(local_var_req).await?;
   478  
   479      let local_var_status = local_var_resp.status();
   480      let local_var_content = local_var_resp.text().await?;
   481  
   482      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   483          serde_json::from_str(&local_var_content).map_err(Error::from)
   484      } else {
   485          let local_var_entity: Option<UploadObjectError> = serde_json::from_str(&local_var_content).ok();
   486          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   487          Err(Error::ResponseError(local_var_error))
   488      }
   489  }
   490