Introduction
Introduction Statistics Contact Development Disclaimer Help
tworking on cookies - surf - customized build of surf, the suckless webkit brow…
git clone git://src.adamsgaard.dk/surf
Log
Files
Refs
README
LICENSE
---
commit b8105c64eda87a16e3cae4f7615cb20eb29f3870
parent e2cae4d1f55738de53046a324289f5868ce5a502
Author: Enno Boland (tox) <[email protected]>
Date: Wed, 24 Mar 2010 20:56:56 +0100
working on cookies
Diffstat:
M surf.c | 39 +++++++++++++++++++++++++++++…
1 file changed, 37 insertions(+), 2 deletions(-)
---
diff --git a/surf.c b/surf.c
t@@ -80,7 +80,9 @@ static void drawindicator(Client *c);
static gboolean exposeindicator(GtkWidget *w, GdkEventExpose *e, Client *c);
static void find(Client *c, const Arg *arg);
static const char *getatom(Client *c, Atom a);
+static const char *getcookies(SoupURI *uri);
static char *geturi(Client *c);
+void gotheaders(SoupMessage *msg, gpointer user_data);
static gboolean initdownload(WebKitWebView *v, WebKitDownload *o, Client *c);
static void itemclick(GtkMenuItem *mi, Client *c);
static gboolean keypress(GtkWidget *w, GdkEventKey *ev, Client *c);
t@@ -99,6 +101,7 @@ static void reload(Client *c, const Arg *arg);
static void resize(GtkWidget *w, GtkAllocation *a, Client *c);
static void scroll(Client *c, const Arg *arg);
static void setatom(Client *c, Atom a, const char *v);
+static void setcookie(SoupCookie *c);
static void setup(void);
static void sigchld(int unused);
static void source(Client *c, const Arg *arg);
t@@ -301,6 +304,11 @@ find(Client *c, const Arg *arg) {
}
const char *
+getcookies(SoupURI *uri) {
+ return NULL;
+}
+
+const char *
getatom(Client *c, Atom a) {
static char buf[BUFSIZ];
Atom adummy;
t@@ -328,6 +336,19 @@ geturi(Client *c) {
return uri;
}
+void
+gotheaders(SoupMessage *msg, gpointer v) {
+ SoupURI *uri;
+ GSList *l, *p;
+
+ uri = soup_message_get_uri(msg);
+ for(p = l = soup_cookies_from_response(msg); p;
+ p = g_slist_next(p)) {
+ setcookie((SoupCookie *)p->data);
+ }
+ soup_cookies_free(l);
+}
+
gboolean
initdownload(WebKitWebView *view, WebKitDownload *o, Client *c) {
const char *filename;
t@@ -555,10 +576,17 @@ newclient(void) {
return c;
}
-static void newrequest(SoupSession *s, SoupMessage *msg, gpointer v) {
+void
+newrequest(SoupSession *s, SoupMessage *msg, gpointer v) {
SoupMessageHeaders *h = msg->request_headers;
+ SoupURI *uri;
+ const char *c;
soup_message_headers_remove(h, "Cookie");
+ uri = soup_message_get_uri(msg);
+ if((c = getcookies(uri))) {
+ soup_message_headers_append(h, "Cookie", c);
+ }
}
void
t@@ -669,6 +697,11 @@ scroll(Client *c, const Arg *arg) {
}
void
+setcookie(SoupCookie *c) {
+
+}
+
+void
setatom(Client *c, Atom a, const char *v) {
XSync(dpy, False);
ignorexprop++;
t@@ -706,6 +739,7 @@ setup(void) {
soup_session_remove_feature_by_type(s, soup_cookie_get_type());
soup_session_remove_feature_by_type(s, soup_cookie_jar_get_type());
g_signal_connect_after(G_OBJECT(s), "request-started", G_CALLBACK(newr…
+ g_signal_connect_after(G_OBJECT(s), "got-headers", G_CALLBACK(gotheade…
/* proxy */
t@@ -829,7 +863,8 @@ zoom(Client *c, const Arg *arg) {
}
}
-int main(int argc, char *argv[]) {
+int
+main(int argc, char *argv[]) {
int i;
Arg arg;
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.