From a8dd17c9b929dbe8e677238e6de088692a2cac27 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 1 Sep 2013 19:40:57 +0200 Subject: [PATCH] UrlProtocolHttp: parse received cookies * We didn't do anything with cookies received from the server, they are now automatically added to the cookie jar. * Also make sure the UrlContext (which holds the cookie jar) is forwarded from UrlRequest to UrlProtocol when it gets set. this gets cookies working in Service Kit-based WebKit. --- src/kits/network/libnetapi/UrlProtocolHttp.cpp | 4 ++++ src/kits/network/libnetapi/UrlRequest.cpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/kits/network/libnetapi/UrlProtocolHttp.cpp b/src/kits/network/libnetapi/UrlProtocolHttp.cpp index 1aa6aa266d..4eb2b5c8ae 100644 --- a/src/kits/network/libnetapi/UrlProtocolHttp.cpp +++ b/src/kits/network/libnetapi/UrlProtocolHttp.cpp @@ -508,6 +508,10 @@ BUrlProtocolHttp::_MakeRequest() if ((fContext != NULL) && fHeaders.HasHeader("Set-Cookie")) { for (int32 i = 0; i < fHeaders.CountHeaders(); i++) { if (fHeaders.HeaderAt(i).NameIs("Set-Cookie")) { + BNetworkCookie* cookie = new BNetworkCookie(); + cookie->ParseCookieStringFromUrl( + fHeaders.HeaderAt(i).Value(), fUrl); + fContext->GetCookieJar().AddCookie(cookie); } } } diff --git a/src/kits/network/libnetapi/UrlRequest.cpp b/src/kits/network/libnetapi/UrlRequest.cpp index 4b30359994..bf139ce922 100644 --- a/src/kits/network/libnetapi/UrlRequest.cpp +++ b/src/kits/network/libnetapi/UrlRequest.cpp @@ -69,6 +69,9 @@ void BUrlRequest::SetContext(BUrlContext* context) { fContext = context; + + if (fUrlProtocol != NULL) + fUrlProtocol->SetContext(context); }