Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HttpTransportOverSPDY.java23
1 files changed, 18 insertions, 5 deletions
diff --git a/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HttpTransportOverSPDY.java b/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HttpTransportOverSPDY.java
index d60740403a..eff5ca3159 100644
--- a/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HttpTransportOverSPDY.java
+++ b/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HttpTransportOverSPDY.java
@@ -96,12 +96,12 @@ public class HttpTransportOverSPDY implements HttpTransport
}
}
- boolean noContent = BufferUtil.isEmpty(content);
- boolean close = noContent && lastContent;
+ boolean hasContent = !BufferUtil.isEmpty(content);
+ boolean close = !hasContent && lastContent;
reply(stream, new ReplyInfo(headers, close));
- if (!noContent)
- stream.data(new ByteBufferDataInfo(content, lastContent));
+ if (hasContent)
+ sendToStream(content, lastContent);
}
@Override
@@ -111,7 +111,20 @@ public class HttpTransportOverSPDY implements HttpTransport
// TODO work out if we can avoid double calls for lastContent==true
if (stream.isClosed() && BufferUtil.isEmpty(content) && lastContent)
return;
- stream.data(new ByteBufferDataInfo(content, lastContent));
+
+ sendToStream(content, lastContent);
+ }
+
+ private void sendToStream(ByteBuffer content, boolean lastContent)
+ {
+ try
+ {
+ stream.data(new ByteBufferDataInfo(content, lastContent)).get();
+ }
+ catch (Exception e)
+ {
+ endPoint.close();
+ }
}
@Override

Back to the top