openai_core/resources/
files.rs1use http::Method;
4
5use super::{
6 BytesRequestBuilder, DeleteResponse, FileObject, FilesResource, JsonRequestBuilder,
7 ListRequestBuilder, encode_path_segment,
8};
9
10impl FilesResource {
11 pub fn create(&self) -> JsonRequestBuilder<FileObject> {
13 JsonRequestBuilder::new(self.client.clone(), "files.create", Method::POST, "/files")
14 }
15
16 pub fn retrieve(&self, file_id: impl Into<String>) -> JsonRequestBuilder<FileObject> {
18 JsonRequestBuilder::new(
19 self.client.clone(),
20 "files.retrieve",
21 Method::GET,
22 format!("/files/{}", encode_path_segment(file_id.into())),
23 )
24 }
25
26 pub fn list(&self) -> ListRequestBuilder<FileObject> {
28 ListRequestBuilder::new(self.client.clone(), "files.list", "/files")
29 }
30
31 pub fn delete(&self, file_id: impl Into<String>) -> JsonRequestBuilder<DeleteResponse> {
33 JsonRequestBuilder::new(
34 self.client.clone(),
35 "files.delete",
36 Method::DELETE,
37 format!("/files/{}", encode_path_segment(file_id.into())),
38 )
39 }
40
41 pub fn content(&self, file_id: impl Into<String>) -> BytesRequestBuilder {
43 BytesRequestBuilder::new(
44 self.client.clone(),
45 "files.content",
46 Method::GET,
47 format!("/files/{}/content", encode_path_segment(file_id.into())),
48 )
49 }
50}