MCPcopy Index your code
hub / github.com/endbasic/endbasic / patch_file_acls

Method patch_file_acls

client/src/cloud.rs:330–363  ·  view source on GitHub ↗
(
        &mut self,
        username: &str,
        filename: &str,
        add: &FileAcls,
        remove: &FileAcls,
    )

Source from the content-addressed store, hash-verified

328 }
329
330 async fn patch_file_acls(
331 &mut self,
332 username: &str,
333 filename: &str,
334 add: &FileAcls,
335 remove: &FileAcls,
336 ) -> io::Result<()> {
337 let auth_data = self.auth_data.borrow();
338
339 let mut builder = self
340 .client
341 .patch(self.make_url(&format!("api/users/{}/files/{}", username, filename)))
342 .headers(self.default_headers())
343 .header("Content-Type", "application/octet-stream")
344 // Ensure we have at least one header to go through the header-based request handler.
345 .header("X-EndBASIC-PatchContent", "false");
346
347 for reader in add.readers() {
348 builder = builder.header("X-EndBASIC-AddReader", reader);
349 }
350 for reader in remove.readers() {
351 builder = builder.header("X-EndBASIC-RemoveReader", reader);
352 }
353
354 let response = builder
355 .bearer_auth(Self::require_auth_data(auth_data.as_ref())?.access_token.as_str())
356 .send()
357 .await
358 .map_err(reqwest_error_to_io_error)?;
359 match response.status() {
360 StatusCode::OK | StatusCode::CREATED => Ok(()),
361 _ => Err(http_response_to_io_error(response).await),
362 }
363 }
364
365 async fn delete_file(&mut self, username: &str, filename: &str) -> io::Result<()> {
366 let auth_data = self.auth_data.borrow();

Callers 2

runFunction · 0.45
update_aclsMethod · 0.45

Calls 6

patchMethod · 0.80
make_urlMethod · 0.80
default_headersMethod · 0.80
readersMethod · 0.80
as_strMethod · 0.80

Tested by

no test coverage detected