Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/generators/elm.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ CONFIG OPTIONS for elm
elmEnableCustomBasePaths
Enable setting the base path for each request (Default: false)

elmEnableCustomHeaders
Enable setting custom headers for each request (Default: false)

elmEnableHttpRequestTrackers
Enable adding a tracker to each http request (Default: false)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ public class ElmClientCodegen extends DefaultCodegen implements CodegenConfig {
private static final String ELM_VERSION = "elmVersion";
private static final String ELM_PREFIX_CUSTOM_TYPE_VARIANTS = "elmPrefixCustomTypeVariants";
private static final String ELM_ENABLE_CUSTOM_BASE_PATHS = "elmEnableCustomBasePaths";
private static final String ELM_ENABLE_CUSTOM_HEADERS = "elmEnableCustomHeaders";
private static final String ELM_ENABLE_HTTP_REQUEST_TRACKERS = "elmEnableHttpRequestTrackers";
private static final String ENCODER = "elmEncoder";
private static final String DECODER = "elmDecoder";
Expand Down Expand Up @@ -173,6 +174,8 @@ public ElmClientCodegen() {
cliOptions.add(elmPrefixCustomTypeVariants);
final CliOption elmEnableCustomBasePaths = CliOption.newBoolean(ELM_ENABLE_CUSTOM_BASE_PATHS, "Enable setting the base path for each request");
cliOptions.add(elmEnableCustomBasePaths);
final CliOption elmEnableCustomHeaders = CliOption.newBoolean(ELM_ENABLE_CUSTOM_HEADERS, "Enable setting custom headers for each request");
cliOptions.add(elmEnableCustomHeaders);
final CliOption elmEnableHttpRequestTrackers = CliOption.newBoolean(ELM_ENABLE_HTTP_REQUEST_TRACKERS, "Enable adding a tracker to each http request");
cliOptions.add(elmEnableHttpRequestTrackers);
}
Expand All @@ -199,6 +202,11 @@ public void processOpts() {
additionalProperties.put("enableCustomBasePaths", enable);
}

if (additionalProperties.containsKey(ELM_ENABLE_CUSTOM_HEADERS)) {
final boolean enable = Boolean.TRUE.equals(Boolean.valueOf(additionalProperties.get(ELM_ENABLE_CUSTOM_HEADERS).toString()));
additionalProperties.put("enableCustomHeaders", enable);
}

if (additionalProperties.containsKey(ELM_ENABLE_HTTP_REQUEST_TRACKERS)) {
final boolean enable = Boolean.TRUE.equals(Boolean.valueOf(additionalProperties.get(ELM_ENABLE_HTTP_REQUEST_TRACKERS).toString()));
additionalProperties.put("enableHttpRequestTrackers", enable);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ basePath =
{{operationId}} :
{ onSend : Result Http.Error {{^responses}}(){{/responses}}{{#responses}}{{#-first}}{{^dataType}}(){{/dataType}}{{#isMapContainer}}(Dict.Dict String {{/isMapContainer}}{{#isListContainer}}(List {{/isListContainer}}{{dataType}}{{#isListContainer}}){{/isListContainer}}{{#isMapContainer}}){{/isMapContainer}}{{/-first}}{{/responses}} -> msg
{{#enableCustomBasePaths}} , basePath : String{{/enableCustomBasePaths}}
{{#enableCustomHeaders}} , headers : List Http.Header{{/enableCustomHeaders}}
{{#enableHttpRequestTrackers}} , tracker : Maybe String{{/enableHttpRequestTrackers}}
{{#bodyParam}} , body : {{^required}}Maybe {{/required}}{{dataType}}{{/bodyParam}}
{{#pathParams}} , {{paramName}} : {{#isListContainer}}List {{/isListContainer}}{{dataType}}{{/pathParams}}
Expand All @@ -32,7 +33,7 @@ basePath =
{{operationId}} params =
Http.request
{ method = "{{httpMethod}}"
, headers = []
, headers = {{#enableCustomHeaders}}params.headers{{/enableCustomHeaders}}{{^enableCustomHeaders}}[]{{/enableCustomHeaders}}
, url = Url.crossOrigin {{#enableCustomBasePaths}}params.{{/enableCustomBasePaths}}basePath
[{{{path}}}]
(List.filterMap identity [{{{vendorExtensions.query}}}])
Expand Down