Skip to content

Commit c5e4b86

Browse files
authored
Merge branch 'master' into issue521Master
2 parents 182a65d + 278a1c1 commit c5e4b86

File tree

1 file changed

+25
-5
lines changed
  • modules/swagger-generator/src/main/java/io/swagger/generator

1 file changed

+25
-5
lines changed

modules/swagger-generator/src/main/java/io/swagger/generator/Bootstrap.java

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,41 @@
1414

1515
package io.swagger.generator;
1616

17-
import org.apache.commons.io.IOUtils;
18-
17+
import java.io.IOException;
18+
import java.io.InputStream;
19+
import java.net.URI;
20+
import java.net.URISyntaxException;
1921
import javax.servlet.ServletConfig;
2022
import javax.servlet.ServletException;
2123
import javax.servlet.http.HttpServlet;
22-
import java.io.IOException;
23-
import java.io.InputStream;
24+
import org.apache.commons.io.IOUtils;
25+
import org.apache.commons.lang3.StringUtils;
2426

2527
public class Bootstrap extends HttpServlet {
2628
private static final long serialVersionUID = 1400930071893332856L;
2729

2830
@Override
2931
public void init(ServletConfig config) throws ServletException {
3032
DynamicSwaggerConfig bc = new DynamicSwaggerConfig();
31-
bc.setBasePath("/api");
33+
String hostString = System.getenv("GENERATOR_HOST");
34+
if (!StringUtils.isBlank(hostString)) {
35+
try {
36+
URI hostURI = new URI(hostString);
37+
String scheme = hostURI.getScheme();
38+
if (scheme != null) {
39+
bc.setSchemes(new String[] { scheme });
40+
}
41+
String host = hostURI.getHost();
42+
if (host != null) {
43+
bc.setHost(host);
44+
}
45+
bc.setBasePath(hostURI.getPath() + "/api");
46+
} catch(URISyntaxException e) {
47+
System.out.println("Could not parse configured GENERATOR_HOST as URL: " + e.getMessage());
48+
}
49+
} else {
50+
bc.setBasePath("/api");
51+
}
3252
bc.setTitle("Swagger Generator");
3353
bc.setDescription("This is an online swagger codegen server. You can find out more "
3454
+ "at https://github.com/swagger-api/swagger-codegen or on [irc.freenode.net, #swagger](http://swagger.io/irc/).");

0 commit comments

Comments
 (0)