@@ -143,11 +143,18 @@ private IDataSource getDataSource(HttpServletRequest request) throws IOException
143
143
* @return
144
144
*/
145
145
private String getDatasetUrl (HttpServletRequest request ) {
146
- String hostName = request .getHeader (HttpHeaders .SERVER );
147
- if (hostName == null ) {
148
- hostName = request .getServerName ();
146
+ if ((request .getServerPort () == 80 )
147
+ || (request .getServerPort () == 443 )) {
148
+ return request .getScheme () + "://"
149
+ + request .getServerName ()
150
+ + request .getRequestURI ();
151
+ } else {
152
+ return request .getScheme () + "://"
153
+ + request .getServerName () + ":" + request .getServerPort ()
154
+ + request .getRequestURI ();
149
155
}
150
- return request .getScheme () + "://" + hostName + request .getRequestURI ();
156
+
157
+ //return request.getScheme() + "://" + hostName + request.getRequestURI();
151
158
}
152
159
153
160
/**
@@ -258,16 +265,6 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
258
265
// fill the output model
259
266
Model output = fragment .getTriples ();
260
267
output .setNsPrefixes (config .getPrefixes ());
261
-
262
- // do conneg
263
- String bestMatch = MIMEParse .bestMatch (mimeTypes , request .getHeader ("Accept" ));
264
- Lang contentType = RDFLanguages .contentTypeToLang (bestMatch );
265
-
266
- // serialize the output
267
- response .setHeader ("Server" , "Linked Data Fragments Server" );
268
- response .setContentType (bestMatch );
269
- response .setCharacterEncoding ("utf-8" );
270
- RDFDataMgr .write (response .getOutputStream (), output , contentType );
271
268
272
269
// add dataset metadata
273
270
String datasetUrl = getDatasetUrl (request );
@@ -283,12 +280,16 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
283
280
addPages (output , fragmentId , fragmentUrl , total , limit , offset , page );
284
281
addControls (output , datasetId , datasetUrl );
285
282
286
- // serialize the output as Turtle
287
- response .setHeader (HttpHeaders .SERVER , "Linked Data Fragments Server" );
288
- response .setContentType ("text/turtle" );
289
- response .setCharacterEncoding (CharEncoding .UTF_8 );
283
+ // do conneg
284
+ String bestMatch = MIMEParse .bestMatch (mimeTypes , request .getHeader ("Accept" ));
285
+ Lang contentType = RDFLanguages .contentTypeToLang (bestMatch );
286
+
287
+ // serialize the output
288
+ response .setHeader ("Server" , "Linked Data Fragments Server" );
289
+ response .setContentType (bestMatch );
290
+ response .setCharacterEncoding ("utf-8" );
290
291
291
- output .write (response .getWriter (), "Turtle" , fragmentUrl );
292
+ RDFDataMgr .write (response .getOutputStream (), output , contentType );
292
293
} catch (IOException | URISyntaxException e ) {
293
294
throw new ServletException (e );
294
295
}
0 commit comments