From c8d5d4d911afc08874c7b3fafbb700ceaee2e610 Mon Sep 17 00:00:00 2001 From: Roger Meier Date: Sat, 7 Jan 2012 20:32:24 +0000 Subject: [PATCH] THRIFT-1486 Javascript manual testserver not returning content types Patch: Andrew Grumet git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1228717 13f79535-47bb-0310-9956-ffa450edef68 --- lib/js/test/build.xml | 1 + lib/js/test/src/test/Httpd.java | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/js/test/build.xml b/lib/js/test/build.xml index 4409679a..f1aa51d3 100755 --- a/lib/js/test/build.xml +++ b/lib/js/test/build.xml @@ -253,6 +253,7 @@ + diff --git a/lib/js/test/src/test/Httpd.java b/lib/js/test/src/test/Httpd.java index 0ed051e9..f1291d80 100644 --- a/lib/js/test/src/test/Httpd.java +++ b/lib/js/test/src/test/Httpd.java @@ -72,6 +72,12 @@ import org.apache.thrift.transport.TMemoryBuffer; import thrift.test.ThriftTest; import org.apache.thrift.server.ServerTestBase.TestHandler; +import eu.medsea.mimeutil.detector.ExtensionMimeDetector; +import eu.medsea.mimeutil.MimeUtil2; +import eu.medsea.mimeutil.MimeType; +import java.util.Collection; +import java.util.Iterator; + /** * Basic, yet fully functional and spec compliant, HTTP/1.1 file server. *

@@ -177,8 +183,20 @@ public class Httpd { } else { + String mimeType = "application/octet-stream"; + MimeUtil2 mimeUtil = new MimeUtil2(); + mimeUtil.registerMimeDetector(ExtensionMimeDetector.class.getName()); + Collection collection = mimeUtil.getMimeTypes(file); + Iterator iterator = collection.iterator(); + while(iterator.hasNext()) { + MimeType mt = iterator.next(); + mimeType = mt.getMediaType() + "/" + mt.getSubType(); + break; + } + response.setStatusCode(HttpStatus.SC_OK); - FileEntity body = new FileEntity(file, "text/html"); + FileEntity body = new FileEntity(file, mimeType); + response.addHeader("Content-Type", mimeType); response.setEntity(body); System.out.println("Serving file " + file.getPath()); -- 2.17.1