openapi_nexus/generators/java/okhttp/
runtime.rs1use crate::codegen::traits::file_writer::FileInfo;
2
3const API_CLIENT_JAVA: &str = include_str!("runtime/ApiClient.java.txt");
4const API_EXCEPTION_JAVA: &str = include_str!("runtime/ApiException.java.txt");
5const AUTHENTICATOR_JAVA: &str = include_str!("runtime/Auth.java.txt");
6const BEARER_AUTH_JAVA: &str = include_str!("runtime/BearerAuth.java.txt");
7const API_KEY_AUTH_JAVA: &str = include_str!("runtime/ApiKeyAuth.java.txt");
8const API_KEY_LOCATION_JAVA: &str = include_str!("runtime/ApiKeyLocation.java.txt");
9const UPLOAD_FILE_JAVA: &str = include_str!("runtime/UploadFile.java.txt");
10
11pub fn runtime_files(header: &str, package_name: &str, include_upload_file: bool) -> Vec<FileInfo> {
12 let runtime_package = format!("{package_name}.runtime");
13 let mut files = vec![
14 FileInfo::runtime(
15 "ApiClient.java".to_string(),
16 repackage(header, API_CLIENT_JAVA, &runtime_package),
17 ),
18 FileInfo::runtime(
19 "ApiException.java".to_string(),
20 repackage(header, API_EXCEPTION_JAVA, &runtime_package),
21 ),
22 FileInfo::runtime(
23 "Authenticator.java".to_string(),
24 repackage(header, AUTHENTICATOR_JAVA, &runtime_package),
25 ),
26 FileInfo::runtime(
27 "BearerAuth.java".to_string(),
28 repackage(header, BEARER_AUTH_JAVA, &runtime_package),
29 ),
30 FileInfo::runtime(
31 "ApiKeyAuth.java".to_string(),
32 repackage(header, API_KEY_AUTH_JAVA, &runtime_package),
33 ),
34 FileInfo::runtime(
35 "ApiKeyLocation.java".to_string(),
36 repackage(header, API_KEY_LOCATION_JAVA, &runtime_package),
37 ),
38 ];
39 if include_upload_file {
40 files.push(FileInfo::runtime(
41 "UploadFile.java".to_string(),
42 repackage(header, UPLOAD_FILE_JAVA, &runtime_package),
43 ));
44 }
45 files
46}
47
48fn repackage(header: &str, body: &str, runtime_package: &str) -> String {
49 let patched = body.replacen(
50 "package runtime;",
51 &format!("package {runtime_package};"),
52 1,
53 );
54 let mut out = String::with_capacity(header.len() + patched.len());
55 out.push_str(header);
56 out.push_str(&patched);
57 out
58}