summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver
diff options
context:
space:
mode:
authorSimon Rettberg2018-12-07 11:43:21 +0100
committerSimon Rettberg2018-12-07 11:43:21 +0100
commitbf86e5f2daa49da25c91fe3aaa92faaf50d60e0c (patch)
treeda6e4871678fa2af1d5bc1844dbdc90d433526db /dozentenmodulserver
parent[client] NetShares: Fix enable/disable logic (diff)
downloadtutor-module-bf86e5f2daa49da25c91fe3aaa92faaf50d60e0c.tar.gz
tutor-module-bf86e5f2daa49da25c91fe3aaa92faaf50d60e0c.tar.xz
tutor-module-bf86e5f2daa49da25c91fe3aaa92faaf50d60e0c.zip
[server] NanoHTTPD: Use chunked transfer, Increase queue size
Diffstat (limited to 'dozentenmodulserver')
-rw-r--r--dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java28
1 files changed, 19 insertions, 9 deletions
diff --git a/dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java b/dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java
index 5b865384..238dca10 100644
--- a/dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java
+++ b/dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java
@@ -460,7 +460,7 @@ public abstract class NanoHTTPD implements Runnable {
*/
public static class DefaultAsyncRunner implements AsyncRunner {
private ExecutorService pool = new GrowingThreadPoolExecutor(2, 16, 1, TimeUnit.MINUTES,
- new ArrayBlockingQueue<Runnable>(4), new PrioThreadFactory("httpd", Thread.NORM_PRIORITY));
+ new ArrayBlockingQueue<Runnable>(16), new PrioThreadFactory("httpd", Thread.NORM_PRIORITY));
@Override
public void exec(Runnable code) {
@@ -511,23 +511,33 @@ public abstract class NanoHTTPD implements Runnable {
/**
* Basic constructor.
*/
- public Response(IStatus status, String mimeType, InputStream data) {
+ public Response(IStatus status, String mimeType, InputStream data, boolean chunked) {
this.status = status;
this.mimeType = mimeType;
this.data = data;
+ this.chunkedTransfer = chunked;
+ }
+
+ /**
+ * Basic constructor. Enable chunked transfer for everything
+ * except ByteArrayInputStream.
+ */
+ public Response(IStatus status, String mimeType, InputStream data) {
+ this(status, mimeType, data, !(data instanceof ByteArrayInputStream));
+ }
+
+ /**
+ * Convenience method that makes an InputStream out of given byte array.
+ */
+ public Response(IStatus status, String mimeType, byte[] data) {
+ this(status, mimeType, data == null ? null : new ByteArrayInputStream(data));
}
/**
* Convenience method that makes an InputStream out of given text.
*/
public Response(IStatus status, String mimeType, String txt) {
- this.status = status;
- this.mimeType = mimeType;
- try {
- this.data = txt != null ? new ByteArrayInputStream(txt.getBytes("UTF-8")) : null;
- } catch (java.io.UnsupportedEncodingException uee) {
- uee.printStackTrace();
- }
+ this(status, mimeType, txt == null ? null : txt.getBytes(StandardCharsets.UTF_8));
}
/**