15
15
import io .swagger .codegen .v3 .generators .handlebars .lambda .TitlecaseLambda ;
16
16
import io .swagger .codegen .v3 .generators .handlebars .lambda .UppercaseLambda ;
17
17
import io .swagger .codegen .v3 .utils .ModelUtils ;
18
+ import io .swagger .codegen .v3 .utils .URLPathUtil ;
18
19
import io .swagger .v3 .oas .models .OpenAPI ;
19
20
import io .swagger .v3 .oas .models .Operation ;
20
21
import io .swagger .v3 .oas .models .PathItem ;
33
34
import org .slf4j .LoggerFactory ;
34
35
35
36
import java .io .File ;
37
+ import java .net .URL ;
36
38
import java .util .ArrayList ;
37
39
import java .util .Arrays ;
38
40
import java .util .HashMap ;
@@ -959,6 +961,18 @@ public void setPreserveNewLines(boolean preserveNewLines) {
959
961
@ Override
960
962
public void preprocessOpenAPI (OpenAPI openAPI ) {
961
963
super .preprocessOpenAPI (openAPI );
964
+
965
+ final URL urlInfo = URLPathUtil .getServerURL (openAPI );
966
+ if ( urlInfo != null && urlInfo .getPort () > 0 ) {
967
+ additionalProperties .put ("serverUrl" , String .format ("%s://%s:%s" , urlInfo .getProtocol (), urlInfo .getHost (), urlInfo .getPort ()));
968
+
969
+ if (StringUtils .isNotBlank (urlInfo .getPath ())) {
970
+ additionalProperties .put ("basePathWithoutHost" , urlInfo .getPath ());
971
+ }
972
+ } else {
973
+ additionalProperties .put ("serverUrl" , URLPathUtil .LOCAL_HOST );
974
+ }
975
+
962
976
if (this .preserveNewLines ) {
963
977
Map <String , Schema > schemaMap = openAPI .getComponents () != null ? openAPI .getComponents ().getSchemas () : null ;
964
978
if (schemaMap != null ) {
@@ -1056,4 +1070,4 @@ public void postProcessParameter(CodegenParameter parameter) {
1056
1070
}
1057
1071
*/
1058
1072
1059
- }
1073
+ }
0 commit comments