now we've got access to cookies before they're sended. Let's start building a cookiehandler.
This commit is contained in:
parent
b2a970d04d
commit
e252a5ec63
24
surf.c
24
surf.c
|
@ -89,7 +89,7 @@ static void loaduri(Client *c, const Arg *arg);
|
||||||
static void navigate(Client *c, const Arg *arg);
|
static void navigate(Client *c, const Arg *arg);
|
||||||
static Client *newclient(void);
|
static Client *newclient(void);
|
||||||
static void newwindow(Client *c, const Arg *arg);
|
static void newwindow(Client *c, const Arg *arg);
|
||||||
static void newrequest(WebKitWebView *v, WebKitWebFrame *f, WebKitWebResource *r, WebKitNetworkRequest *req, WebKitNetworkResponse *res, Client *c);
|
static void newrequest(SoupSession *s, SoupMessage *msg, gpointer v);
|
||||||
static void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d);
|
static void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d);
|
||||||
static void print(Client *c, const Arg *arg);
|
static void print(Client *c, const Arg *arg);
|
||||||
static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event, gpointer d);
|
static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event, gpointer d);
|
||||||
|
@ -503,7 +503,6 @@ newclient(void) {
|
||||||
g_signal_connect(G_OBJECT(c->view), "populate-popup", G_CALLBACK(context), c);
|
g_signal_connect(G_OBJECT(c->view), "populate-popup", G_CALLBACK(context), c);
|
||||||
g_signal_connect(G_OBJECT(c->view), "notify::load-status", G_CALLBACK(loadstatuschange), c);
|
g_signal_connect(G_OBJECT(c->view), "notify::load-status", G_CALLBACK(loadstatuschange), c);
|
||||||
g_signal_connect(G_OBJECT(c->view), "notify::progress", G_CALLBACK(progresschange), c);
|
g_signal_connect(G_OBJECT(c->view), "notify::progress", G_CALLBACK(progresschange), c);
|
||||||
g_signal_connect(G_OBJECT(c->view), "resource-request-starting", G_CALLBACK(newrequest), c);
|
|
||||||
|
|
||||||
/* Indicator */
|
/* Indicator */
|
||||||
c->indicator = gtk_drawing_area_new();
|
c->indicator = gtk_drawing_area_new();
|
||||||
|
@ -552,18 +551,10 @@ newclient(void) {
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func(const char *name, const char *value, void *dummy) {
|
static void newrequest(SoupSession *s, SoupMessage *msg, gpointer v) {
|
||||||
printf("%s = %s\n", name, value);
|
SoupMessageHeaders *h = msg->request_headers;
|
||||||
}
|
|
||||||
|
|
||||||
|
soup_message_headers_remove(h, "Cookie");
|
||||||
static void newrequest(WebKitWebView *v, WebKitWebFrame *f, WebKitWebResource *r, WebKitNetworkRequest *req, WebKitNetworkResponse *res, Client *c) {
|
|
||||||
SoupMessage *msg = webkit_network_request_get_message(req);
|
|
||||||
SoupMessageHeaders *h;
|
|
||||||
if(!msg)
|
|
||||||
return;
|
|
||||||
h = msg->request_headers;
|
|
||||||
soup_message_headers_foreach(h, func, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -695,15 +686,18 @@ setup(void) {
|
||||||
uriprop = XInternAtom(dpy, "_SURF_URI", False);
|
uriprop = XInternAtom(dpy, "_SURF_URI", False);
|
||||||
findprop = XInternAtom(dpy, "_SURF_FIND", False);
|
findprop = XInternAtom(dpy, "_SURF_FIND", False);
|
||||||
|
|
||||||
/* create dirs and files */
|
/* dirs and files */
|
||||||
cookiefile = buildpath(cookiefile);
|
cookiefile = buildpath(cookiefile);
|
||||||
dldir = buildpath(dldir);
|
dldir = buildpath(dldir);
|
||||||
scriptfile = buildpath(scriptfile);
|
scriptfile = buildpath(scriptfile);
|
||||||
stylefile = buildpath(stylefile);
|
stylefile = buildpath(stylefile);
|
||||||
|
|
||||||
|
/* request handler */
|
||||||
s = webkit_get_default_session();
|
s = webkit_get_default_session();
|
||||||
|
|
||||||
soup_session_remove_feature_by_type(s, soup_cookie_get_type());
|
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(newrequest), NULL);
|
||||||
|
|
||||||
|
|
||||||
/* proxy */
|
/* proxy */
|
||||||
if((proxy = getenv("http_proxy")) && strcmp(proxy, "")) {
|
if((proxy = getenv("http_proxy")) && strcmp(proxy, "")) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user