Skip to content

Commit 97fc27e

Browse files
author
Milosz Tarka
committed
SWG-7517 adding logic to unflattened case
1 parent 97a77e9 commit 97fc27e

File tree

1 file changed

+25
-11
lines changed

1 file changed

+25
-11
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/config/CodegenConfigurator.java

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -582,8 +582,7 @@ public ClientOptInput toClientOptInput() {
582582
SwaggerParseResult result = new OpenAPIParser().readContents(inputSpec, authorizationValues, options);
583583
OpenAPI openAPI = result.getOpenAPI();
584584
if (config.needsUnflattenedSpec()) {
585-
ParseOptions optionsUnflattened = new ParseOptions();
586-
optionsUnflattened.setResolve(true);
585+
ParseOptions optionsUnflattened = buildUnflattenedParseOptions();
587586
SwaggerParseResult resultUnflattened = new OpenAPIParser().readContents(inputSpec, authorizationValues, optionsUnflattened);
588587
OpenAPI openAPIUnflattened = resultUnflattened.getOpenAPI();
589588
config.setUnflattenedOpenAPI(openAPIUnflattened);
@@ -680,22 +679,37 @@ private ParseOptions buildParseOptions() {
680679
options.setSkipMatches(this.skipInlineModelMatches);
681680

682681
if (Objects.equals(System.getenv("SAFELY_RESOLVE_URL"), "true")) {
683-
List<String> allowList = Optional.ofNullable(System.getenv("REMOTE_REF_ALLOW_LIST"))
684-
.map(str -> Arrays.asList(str.split(",")))
685-
.orElseGet(Collections::emptyList);
682+
setSafelyResolveURLParseOptions(options);
683+
}
686684

687-
List<String> blockList = Optional.ofNullable(System.getenv("REMOTE_REF_BLOCK_LIST"))
688-
.map(str -> Arrays.asList(str.split(",")))
689-
.orElseGet(Collections::emptyList);
685+
return options;
686+
}
690687

691-
options.setSafelyResolveURL(true);
692-
options.setRemoteRefAllowList(allowList);
693-
options.setRemoteRefBlockList(blockList);
688+
private ParseOptions buildUnflattenedParseOptions() {
689+
ParseOptions options = new ParseOptions();
690+
options.setResolve(true);
691+
692+
if (Objects.equals(System.getenv("SAFELY_RESOLVE_URL"), "true")) {
693+
setSafelyResolveURLParseOptions(options);
694694
}
695695

696696
return options;
697697
}
698698

699+
private void setSafelyResolveURLParseOptions(ParseOptions options) {
700+
List<String> allowList = Optional.ofNullable(System.getenv("REMOTE_REF_ALLOW_LIST"))
701+
.map(str -> Arrays.asList(str.split(",")))
702+
.orElseGet(Collections::emptyList);
703+
704+
List<String> blockList = Optional.ofNullable(System.getenv("REMOTE_REF_BLOCK_LIST"))
705+
.map(str -> Arrays.asList(str.split(",")))
706+
.orElseGet(Collections::emptyList);
707+
708+
options.setSafelyResolveURL(true);
709+
options.setRemoteRefAllowList(allowList);
710+
options.setRemoteRefBlockList(blockList);
711+
}
712+
699713
@JsonAnySetter
700714
public CodegenConfigurator addDynamicProperty(String name, Object value) {
701715
dynamicProperties.put(name, value);

0 commit comments

Comments
 (0)