aboutsummaryrefslogtreecommitdiffstats
path: root/plugin/icedteanp/java/sun/applet/PluginCookieManager.java
diff options
context:
space:
mode:
authorAdam Domurad <[email protected]>2012-08-17 10:40:22 -0400
committerAdam Domurad <[email protected]>2012-08-17 10:40:22 -0400
commite6dfb0a5fab464a93c7c38e3cb72cefc0c4e84ea (patch)
treecb7899e65c15491feb348a1701280bd8f1262e13 /plugin/icedteanp/java/sun/applet/PluginCookieManager.java
parent43ee427be2697090f2f6b0686bdfb3bac1c4964d (diff)
Fixes PR588, Icedtea-web now saves cookies set in java cookie jar
Diffstat (limited to 'plugin/icedteanp/java/sun/applet/PluginCookieManager.java')
-rw-r--r--plugin/icedteanp/java/sun/applet/PluginCookieManager.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/plugin/icedteanp/java/sun/applet/PluginCookieManager.java b/plugin/icedteanp/java/sun/applet/PluginCookieManager.java
index 72a94dc..21bdbc0 100644
--- a/plugin/icedteanp/java/sun/applet/PluginCookieManager.java
+++ b/plugin/icedteanp/java/sun/applet/PluginCookieManager.java
@@ -45,7 +45,16 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
+import com.sun.jndi.toolkit.url.UrlUtil;
+
public class PluginCookieManager extends CookieManager {
+ private PluginStreamHandler streamHandler;
+
+ public PluginCookieManager(PluginStreamHandler streamHandler) {
+ this.streamHandler = streamHandler;
+ }
+
+ @Override
public Map<String, List<String>> get(URI uri,
Map<String, List<String>> requestHeaders) throws IOException {
// pre-condition check
@@ -84,4 +93,21 @@ public class PluginCookieManager extends CookieManager {
return false;
}
+
+ @Override
+ public void put(URI uri,
+ Map<String, List<String>> responseHeaders) throws IOException {
+ super.put(uri, responseHeaders);
+
+ for (Map.Entry<String, List<String>> headerEntry : responseHeaders.entrySet()) {
+ String type = headerEntry.getKey();
+ if ("Set-Cookie".equalsIgnoreCase(type) || "Set-Cookie2".equalsIgnoreCase(type)) {
+ List<String> cookies = headerEntry.getValue();
+ for (String cookie : cookies) {
+ streamHandler.write("plugin PluginSetCookie reference -1 " + UrlUtil.encode(uri.toString(), "UTF-8") + " " + cookie);
+ }
+ }
+
+ }
+ }
}