From 82fb273b78056488315db2c9c0626fc06a6b6738 Mon Sep 17 00:00:00 2001 From: Julien Lengrand-Lambert Date: Mon, 3 Jun 2024 15:47:18 +0200 Subject: [PATCH] Adding basic support for env file --- .../JetbrainsHttpClientClientCodegen.java | 17 +++++++++++++++-- .../http-client.template.env.mustache | 3 +++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JetbrainsHttpClientClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JetbrainsHttpClientClientCodegen.java index dbe8810c5d..0f30e8d63f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JetbrainsHttpClientClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JetbrainsHttpClientClientCodegen.java @@ -66,6 +66,8 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements public List customHeaders = new ArrayList<>(); + private final Map customVariables = new HashMap<>(); + public CodegenType getTag() { return CodegenType.CLIENT; @@ -96,7 +98,7 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements embeddedTemplateDir = templateDir = "jetbrains-http-client"; apiPackage = "Apis"; supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); - supportingFiles.add(new SupportingFile("http-client.template.env.mustache", "", "http-client.template.env.json")); + supportingFiles.add(new SupportingFile("http-client.template.env.mustache", "Apis", "http-client.template.env.json")); cliOptions.clear(); @@ -117,6 +119,9 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements if (additionalProperties.containsKey(CUSTOM_HEADERS)) { customHeaders = Arrays.asList(additionalProperties.get(CUSTOM_HEADERS).toString().split("&")); } + + bodyVariables.forEach(variable -> customVariables.put(variable, "")); + customHeaders.forEach(header -> customVariables.put(header, "")); } @Override @@ -153,9 +158,17 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements codegenOperation.vendorExtensions.put("customHeaders", customHeaders); } } + return results; } + @Override + public Map postProcessSupportingFileData(Map objs) { + var variables = new ArrayList<>(customVariables.keySet()); + objs.put("vendorExtensionsVariables", variables); + return objs; + } + List getRequests(CodegenOperation codegenOperation) { List items = new ArrayList<>(); @@ -221,7 +234,7 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements public void postProcess() { System.out.println("##########################################################################################"); System.out.println("# Thanks for using OpenAPI Generator. #"); - System.out.println("# Please consider donation to help us maintain this project \uD83D\uDE4F #"); + System.out.println("# Please consider donation to help us maintain this project \uD83D\uDE4F #"); System.out.println("# https://opencollective.com/openapi_generator/donate #"); System.out.println("# #"); System.out.println("# This generator was written by Julien Lengrand-Lambert (https://github.com/jlengrand) #"); diff --git a/modules/openapi-generator/src/main/resources/jetbrains-http-client/http-client.template.env.mustache b/modules/openapi-generator/src/main/resources/jetbrains-http-client/http-client.template.env.mustache index 9df65a6a56..2da1302cbe 100644 --- a/modules/openapi-generator/src/main/resources/jetbrains-http-client/http-client.template.env.mustache +++ b/modules/openapi-generator/src/main/resources/jetbrains-http-client/http-client.template.env.mustache @@ -1,4 +1,7 @@ { "dev": { +{{#vendorExtensionsVariables}} + "{{.}}" : ""{{^-last}},{{/-last}} +{{/vendorExtensionsVariables}} } } \ No newline at end of file