@@ -143,11 +143,18 @@ private IDataSource getDataSource(HttpServletRequest request) throws IOException
143143 * @return
144144 */
145145 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 ();
149155 }
150- return request .getScheme () + "://" + hostName + request .getRequestURI ();
156+
157+ //return request.getScheme() + "://" + hostName + request.getRequestURI();
151158 }
152159
153160 /**
@@ -258,16 +265,6 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
258265 // fill the output model
259266 Model output = fragment .getTriples ();
260267 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 );
271268
272269 // add dataset metadata
273270 String datasetUrl = getDatasetUrl (request );
@@ -283,12 +280,16 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
283280 addPages (output , fragmentId , fragmentUrl , total , limit , offset , page );
284281 addControls (output , datasetId , datasetUrl );
285282
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" );
290291
291- output .write (response .getWriter (), "Turtle" , fragmentUrl );
292+ RDFDataMgr .write (response .getOutputStream (), output , contentType );
292293 } catch (IOException | URISyntaxException e ) {
293294 throw new ServletException (e );
294295 }
0 commit comments