diff options
author | Simone Bordet | 2014-05-14 08:28:45 +0000 |
---|---|---|
committer | Simone Bordet | 2014-05-14 08:28:45 +0000 |
commit | a80346555148938b3c84f329fe16f885f7ae7144 (patch) | |
tree | 06b6eb2fa3372aab9296f17866b0a309ca2b0563 /jetty-client | |
parent | 521aa1d566c28f78e75ce716f57caada6c314631 (diff) | |
download | org.eclipse.jetty.project-a80346555148938b3c84f329fe16f885f7ae7144.tar.gz org.eclipse.jetty.project-a80346555148938b3c84f329fe16f885f7ae7144.tar.xz org.eclipse.jetty.project-a80346555148938b3c84f329fe16f885f7ae7144.zip |
Invalidating the content decoders in case of Iterator.remove().
Diffstat (limited to 'jetty-client')
-rw-r--r-- | jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java index 31b550c9d2..3640ee058e 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java @@ -978,7 +978,28 @@ public class HttpClient extends ContainerLifeCycle @Override public Iterator<ContentDecoder.Factory> iterator() { - return set.iterator(); + final Iterator<ContentDecoder.Factory> iterator = set.iterator(); + return new Iterator<ContentDecoder.Factory>() + { + @Override + public boolean hasNext() + { + return iterator.hasNext(); + } + + @Override + public ContentDecoder.Factory next() + { + return iterator.next(); + } + + @Override + public void remove() + { + iterator.remove(); + invalidate(); + } + }; } @Override @@ -993,7 +1014,7 @@ public class HttpClient extends ContainerLifeCycle return set.toArray(a); } - protected void invalidate() + private void invalidate() { if (set.isEmpty()) { |