Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2014-09-18 08:23:48 +0000
committerGreg Wilkins2014-09-18 08:23:48 +0000
commit0acee9851f3853883960edc91ebca6dd3ddc3c51 (patch)
tree023b332266c7ccafa38fe7a08b4aba483050ed06
parent201809822574485fc573eb4d79442f0274e1cdc9 (diff)
downloadorg.eclipse.jetty.project-0acee9851f3853883960edc91ebca6dd3ddc3c51.tar.gz
org.eclipse.jetty.project-0acee9851f3853883960edc91ebca6dd3ddc3c51.tar.xz
org.eclipse.jetty.project-0acee9851f3853883960edc91ebca6dd3ddc3c51.zip
minor cleanups of exceptions
-rw-r--r--jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java3
-rw-r--r--jetty-http2/http2-server/pom.xml6
-rw-r--r--jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java1
-rw-r--r--jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java2
-rw-r--r--jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java4
-rw-r--r--jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java8
6 files changed, 22 insertions, 2 deletions
diff --git a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java
index 4051cf9c11..4ab47771e2 100644
--- a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java
+++ b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Flusher.java
@@ -32,6 +32,7 @@ import java.util.Queue;
import org.eclipse.jetty.http2.frames.Frame;
import org.eclipse.jetty.http2.frames.WindowUpdateFrame;
import org.eclipse.jetty.io.ByteBufferPool;
+import org.eclipse.jetty.io.EofException;
import org.eclipse.jetty.util.ArrayQueue;
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.util.IteratingCallback;
@@ -346,7 +347,7 @@ public class HTTP2Flusher extends IteratingCallback
public void reset()
{
- failed(new EOFException("reset"));
+ failed(new EofException("reset"));
}
@Override
diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml
index 9b9a6c1047..5d031f52b5 100644
--- a/jetty-http2/http2-server/pom.xml
+++ b/jetty-http2/http2-server/pom.xml
@@ -46,6 +46,12 @@
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlets</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-alpn-server</artifactId>
<version>${project.version}</version>
<scope>test</scope>
diff --git a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java
index 1160212541..a41a269042 100644
--- a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java
+++ b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpChannelOverHTTP2.java
@@ -94,6 +94,7 @@ public class HttpChannelOverHTTP2 extends HttpChannel
public void onPushRequest(MetaData.Request request)
{
onRequest(request);
+ getRequest().setAttribute("org.eclipse.jetty.pushed",Boolean.TRUE);
if (LOG.isDebugEnabled())
{
diff --git a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java
index 210cade784..373524c00d 100644
--- a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java
+++ b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/HttpTransportOverHTTP2.java
@@ -96,7 +96,7 @@ public class HttpTransportOverHTTP2 implements HttpTransport
}
else
{
- callback.failed(new IllegalStateException());
+ callback.failed(new IllegalStateException("committed"));
}
}
else
diff --git a/jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java b/jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java
index 64a19e85ec..8169b54166 100644
--- a/jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java
+++ b/jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java
@@ -21,7 +21,9 @@ package org.eclipse.jetty.http2.server;
import java.io.IOException;
import java.util.Date;
+import java.util.EnumSet;
+import javax.servlet.DispatcherType;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
@@ -42,6 +44,7 @@ import org.eclipse.jetty.server.SslConnectionFactory;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.servlets.PushCacheFilter;
import org.eclipse.jetty.util.ssl.SslContextFactory;
@@ -56,6 +59,7 @@ public class Http2Server
ServletContextHandler context = new ServletContextHandler(server, "/",ServletContextHandler.SESSIONS);
context.setResourceBase("/tmp");
+ context.addFilter(PushCacheFilter.class,"/*",EnumSet.of(DispatcherType.REQUEST));
context.addServlet(new ServletHolder(servlet), "/test/*");
context.addServlet(DefaultServlet.class, "/");
server.setHandler(context);
diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
index 8555b08f58..30ab7e6391 100644
--- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
+++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
@@ -79,6 +79,14 @@ public class PushCacheFilter implements Filter
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException
{
HttpServletRequest request = (HttpServletRequest)req;
+
+ if (Boolean.TRUE==req.getAttribute("org.eclipse.jetty.pushed"))
+ {
+ LOG.debug("PUSH {}", request.getRequestURI());
+ chain.doFilter(req,resp);
+ return;
+ }
+
// Iterating over fields is more efficient than multiple gets
HttpFields fields = Request.getBaseRequest(req).getHttpFields();

Back to the top