12
12
import io .swagger .generator .model .ResponseCode ;
13
13
import io .swagger .generator .online .Generator ;
14
14
15
+ import javax .ws .rs .core .Context ;
15
16
import javax .ws .rs .GET ;
16
17
import javax .ws .rs .POST ;
17
18
import javax .ws .rs .Path ;
18
19
import javax .ws .rs .PathParam ;
19
20
import javax .ws .rs .Produces ;
20
21
import javax .ws .rs .core .MediaType ;
21
22
import javax .ws .rs .core .Response ;
23
+ import javax .servlet .http .HttpServletRequest ;
22
24
import java .util .ArrayList ;
23
25
import java .util .HashMap ;
24
26
import java .util .List ;
@@ -61,19 +63,21 @@ public Response downloadFile(@PathParam("fileId") String fileId) throws Exceptio
61
63
response = ResponseCode .class ,
62
64
tags = "clients" )
63
65
public Response generateClient (
66
+ @ Context HttpServletRequest request ,
64
67
@ ApiParam (value = "The target language for the client library" , allowableValues = "android,java,php,objc,docs" , required = true ) @ PathParam ("language" ) String language ,
65
68
@ ApiParam (value = "Configuration for building the client library" , required = true ) GeneratorInput opts ) throws Exception {
66
69
67
70
String filename = Generator .generateClient (language , opts );
68
71
72
+ String host = request .getScheme () + "://" + request .getServerName () + ":" + request .getServerPort ();
69
73
if (filename != null ) {
70
74
String code = String .valueOf (System .currentTimeMillis ());
71
75
Generated g = new Generated ();
72
76
g .setFilename (filename );
73
77
g .setFriendlyName (language + "-client" );
74
78
fileMap .put (code , g );
75
79
System .out .println (code + ", " + filename );
76
- String link = "http://generator.swagger.io /api/gen/download/" + code ;
80
+ String link = host + " /api/gen/download/" + code ;
77
81
return Response .ok ().entity (new ResponseCode (code , link )).build ();
78
82
} else {
79
83
return Response .status (500 ).build ();
@@ -110,6 +114,7 @@ public Response serverOptions() {
110
114
response = ResponseCode .class ,
111
115
tags = "servers" )
112
116
public Response generateServerForLanguage (
117
+ @ Context HttpServletRequest request ,
113
118
@ ApiParam (value = "framework" , allowableValues = "jaxrs,nodejs" , required = true ) @ PathParam ("framework" ) String framework ,
114
119
@ ApiParam (value = "parameters" , required = true ) GeneratorInput opts )
115
120
throws Exception {
@@ -119,14 +124,16 @@ public Response generateServerForLanguage(
119
124
String filename = Generator .generateServer (framework , opts );
120
125
System .out .println ("generated name: " + filename );
121
126
127
+ String host = request .getScheme () + "://" + request .getServerName () + ":" + request .getServerPort ();
128
+
122
129
if (filename != null ) {
123
130
String code = String .valueOf (System .currentTimeMillis ());
124
131
Generated g = new Generated ();
125
132
g .setFilename (filename );
126
133
g .setFriendlyName (framework + "-server" );
127
134
fileMap .put (code , g );
128
135
System .out .println (code + ", " + filename );
129
- String link = "http://generator.swagger.io /api/gen/download/" + code ;
136
+ String link = host + " /api/gen/download/" + code ;
130
137
return Response .ok ().entity (new ResponseCode (code , link )).build ();
131
138
} else {
132
139
return Response .status (500 ).build ();
0 commit comments