aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseHandlerGuard.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseHandlerGuard.java')
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseHandlerGuard.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseHandlerGuard.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseHandlerGuard.java
new file mode 100644
index 00000000000..02600683e27
--- /dev/null
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/chain/ResponseHandlerGuard.java
@@ -0,0 +1,29 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.jdisc.http.filter.chain;
+
+import com.yahoo.jdisc.Response;
+import com.yahoo.jdisc.handler.ContentChannel;
+import com.yahoo.jdisc.handler.ResponseHandler;
+
+/**
+ * @author Simon Thoresen Hult
+ */
+final class ResponseHandlerGuard implements ResponseHandler {
+
+ private final ResponseHandler responseHandler;
+ private boolean done = false;
+
+ public ResponseHandlerGuard(ResponseHandler handler) {
+ this.responseHandler = handler;
+ }
+
+ @Override
+ public ContentChannel handleResponse(Response response) {
+ done = true;
+ return responseHandler.handleResponse(response);
+ }
+
+ public boolean isDone() {
+ return done;
+ }
+}