BrowserWindow.vala
[app.webkitpdf] / BrowserWindow.vala
index b232484..e2a0a0a 100644 (file)
@@ -56,8 +56,6 @@ public class BrowserWindow : Object
          if(webkitpdf.opt_cookies != null) {
             print("setting cookie %s\n",webkitpdf.opt_cookies);
                
-            
-             
             var uri = new Soup.URI (blog);
                            
             string[] cookies = webkitpdf.opt_cookies.split ("=", 2);
@@ -65,7 +63,24 @@ public class BrowserWindow : Object
             if(cookies.length >=2 ) {             
 #if GTK3               
                 var context = WebKit.WebContext.get_default();          
-                var cookie_manager = context.get_cookie_manager();             
+                var cookie_manager = context.get_cookie_manager();
+                cookie_manager.set_accept_policy(WebKit.CookieAcceptPolicy.ALWAYS);
+                string scheme = uri.get_scheme ();
+                var ssl = "FALSE";
+                if (scheme=="https") {
+                    ssl="TRUE";
+                }                
+                try {
+                                            File file = File.new_for_path(GLib.Environment.get_user_cache_dir() + "/cookie.txt" );
+                                            print("setting cookie file%s\n",file.get_path());
+                             FileOutputStream ostream = file.replace (null, false, FileCreateFlags.NONE);
+                             DataOutputStream dostream = new DataOutputStream (ostream);
+                             
+                             dostream.put_string (uri.get_host() + "\tTRUE\t/\t"+ssl+"\t2147483647\t" + cookies[0] + "\t" + cookies[1] );                            
+                             cookie_manager.set_persistent_storage(file.get_path(), WebKit.CookiePersistentStorage.TEXT);                            
+                    } catch (Error e) {
+                             stdout.printf ("Error: %s\n", e.message);
+                    }          
 #else
                 var sess = WebKit.get_default_session();
                 var cookie_jar = new Soup.CookieJar();