diff --git a/modules/openapi-generator/src/main/resources/erlang-server/handler.mustache b/modules/openapi-generator/src/main/resources/erlang-server/handler.mustache index f20db0f4f711..1d178141956e 100644 --- a/modules/openapi-generator/src/main/resources/erlang-server/handler.mustache +++ b/modules/openapi-generator/src/main/resources/erlang-server/handler.mustache @@ -91,7 +91,7 @@ is_authorized(Req, State) -> {{#consumes.size}} {[ {{#consumes}} - {<<"{{mediaType}}">>, handle_type_accepted}{{^-last}}{{#consumes.size}},{{/consumes.size}}{{/-last}} + {<<"{{{mediaType}}}">>, handle_type_accepted}{{^-last}}{{#consumes.size}},{{/consumes.size}}{{/-last}} {{/consumes}} ], Req, State}; {{/consumes.size}} @@ -114,7 +114,7 @@ is_authorized(Req, State) -> {{#produces.size}} {[ {{#produces}} - {<<"{{mediaType}}">>, handle_type_provided}{{^-last}}{{#produces.size}},{{/produces.size}}{{/-last}} + {<<"{{{mediaType}}}">>, handle_type_provided}{{^-last}}{{#produces.size}},{{/produces.size}}{{/-last}} {{/produces}} ], Req, State}; {{/produces.size}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/erlang/ErlangServerCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/erlang/ErlangServerCodegenTest.java new file mode 100644 index 000000000000..8bb8824c112a --- /dev/null +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/erlang/ErlangServerCodegenTest.java @@ -0,0 +1,39 @@ +package org.openapitools.codegen.erlang; + +import org.openapitools.codegen.ClientOptInput; +import org.openapitools.codegen.DefaultGenerator; +import org.openapitools.codegen.config.CodegenConfigurator; +import org.testng.annotations.Test; + +import java.io.File; +import java.nio.file.Path; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.openapitools.codegen.TestUtils.newTempFolder; + +public class ErlangServerCodegenTest { + + @Test + public void testCharsetInContentTypeCorrectlyEncodedForErlangServer() { + final Path output = newTempFolder(); + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("erlang-server") + .setInputSpec("src/test/resources/3_0/issue_19895.yaml") + .setOutputDir(output.toString().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + var defaultApiFile = output.resolve("src/openapi_default_handler.erl"); + assertThat(files).contains(defaultApiFile.toFile()); + assertThat(defaultApiFile).content() + .doesNotContain( + "application/json;charset=utf-8") + .contains( + "application/json;charset=utf-8" + ); + } + +}