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");
9
10pub fn runtime_files(header: &str, package_name: &str) -> Vec<FileInfo> {
11 let runtime_package = format!("{package_name}.runtime");
12 vec![
13 FileInfo::runtime(
14 "ApiClient.java".to_string(),
15 repackage(header, API_CLIENT_JAVA, &runtime_package),
16 ),
17 FileInfo::runtime(
18 "ApiException.java".to_string(),
19 repackage(header, API_EXCEPTION_JAVA, &runtime_package),
20 ),
21 FileInfo::runtime(
22 "Authenticator.java".to_string(),
23 repackage(header, AUTHENTICATOR_JAVA, &runtime_package),
24 ),
25 FileInfo::runtime(
26 "BearerAuth.java".to_string(),
27 repackage(header, BEARER_AUTH_JAVA, &runtime_package),
28 ),
29 FileInfo::runtime(
30 "ApiKeyAuth.java".to_string(),
31 repackage(header, API_KEY_AUTH_JAVA, &runtime_package),
32 ),
33 FileInfo::runtime(
34 "ApiKeyLocation.java".to_string(),
35 repackage(header, API_KEY_LOCATION_JAVA, &runtime_package),
36 ),
37 ]
38}
39
40fn repackage(header: &str, body: &str, runtime_package: &str) -> String {
41 let patched = body.replacen(
42 "package runtime;",
43 &format!("package {runtime_package};"),
44 1,
45 );
46 let mut out = String::with_capacity(header.len() + patched.len());
47 out.push_str(header);
48 out.push_str(&patched);
49 out
50}