Skip to content

Commit d5cf2b6

Browse files
committed
made host dynamic for link generation
1 parent 2ea3816 commit d5cf2b6

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

modules/swagger-generator/src/main/java/io/swagger/generator/resource/SwaggerResource.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@
1212
import io.swagger.generator.model.ResponseCode;
1313
import io.swagger.generator.online.Generator;
1414

15+
import javax.ws.rs.core.Context;
1516
import javax.ws.rs.GET;
1617
import javax.ws.rs.POST;
1718
import javax.ws.rs.Path;
1819
import javax.ws.rs.PathParam;
1920
import javax.ws.rs.Produces;
2021
import javax.ws.rs.core.MediaType;
2122
import javax.ws.rs.core.Response;
23+
import javax.servlet.http.HttpServletRequest;
2224
import java.util.ArrayList;
2325
import java.util.HashMap;
2426
import java.util.List;
@@ -61,19 +63,21 @@ public Response downloadFile(@PathParam("fileId") String fileId) throws Exceptio
6163
response = ResponseCode.class,
6264
tags = "clients")
6365
public Response generateClient(
66+
@Context HttpServletRequest request,
6467
@ApiParam(value = "The target language for the client library", allowableValues = "android,java,php,objc,docs", required = true) @PathParam("language") String language,
6568
@ApiParam(value = "Configuration for building the client library", required = true) GeneratorInput opts) throws Exception {
6669

6770
String filename = Generator.generateClient(language, opts);
6871

72+
String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();
6973
if (filename != null) {
7074
String code = String.valueOf(System.currentTimeMillis());
7175
Generated g = new Generated();
7276
g.setFilename(filename);
7377
g.setFriendlyName(language + "-client");
7478
fileMap.put(code, g);
7579
System.out.println(code + ", " + filename);
76-
String link = "http://generator.swagger.io/api/gen/download/" + code;
80+
String link = host + "/api/gen/download/" + code;
7781
return Response.ok().entity(new ResponseCode(code, link)).build();
7882
} else {
7983
return Response.status(500).build();
@@ -110,6 +114,7 @@ public Response serverOptions() {
110114
response = ResponseCode.class,
111115
tags = "servers")
112116
public Response generateServerForLanguage(
117+
@Context HttpServletRequest request,
113118
@ApiParam(value = "framework", allowableValues = "jaxrs,nodejs", required = true) @PathParam("framework") String framework,
114119
@ApiParam(value = "parameters", required = true) GeneratorInput opts)
115120
throws Exception {
@@ -119,14 +124,16 @@ public Response generateServerForLanguage(
119124
String filename = Generator.generateServer(framework, opts);
120125
System.out.println("generated name: " + filename);
121126

127+
String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();
128+
122129
if (filename != null) {
123130
String code = String.valueOf(System.currentTimeMillis());
124131
Generated g = new Generated();
125132
g.setFilename(filename);
126133
g.setFriendlyName(framework + "-server");
127134
fileMap.put(code, g);
128135
System.out.println(code + ", " + filename);
129-
String link = "http://generator.swagger.io/api/gen/download/" + code;
136+
String link = host + "/api/gen/download/" + code;
130137
return Response.ok().entity(new ResponseCode(code, link)).build();
131138
} else {
132139
return Response.status(500).build();

0 commit comments

Comments
 (0)