[evolution-data-server/gnome-2-28] ** BUG 429317 - Use the relative URI returned if the server re-directs a request
- From: Akhil Laddha <lakhil src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution-data-server/gnome-2-28] ** BUG 429317 - Use the relative URI returned if the server re-directs a request
- Date: Thu, 11 Feb 2010 05:08:22 +0000 (UTC)
commit 6741c7e8b454577c4ef25f6e8dac32a273951a07
Author: Petr Tomasek <tomasek etf cuni cz>
Date: Thu Feb 11 10:30:24 2010 +0530
** BUG 429317 - Use the relative URI returned if the server re-directs a request
* backends/http/e-cal-backend-http.c (retrieval_done),
(begin_retrieval_cb): Use the relative URI returned if the server
re-directs a request.
calendar/backends/http/e-cal-backend-http.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/calendar/backends/http/e-cal-backend-http.c b/calendar/backends/http/e-cal-backend-http.c
index 7e7320d..ab562ca 100644
--- a/calendar/backends/http/e-cal-backend-http.c
+++ b/calendar/backends/http/e-cal-backend-http.c
@@ -284,6 +284,7 @@ retrieval_done (SoupSession *session, SoupMessage *msg, ECalBackendHttp *cbhttp)
icalcomponent *icalcomp, *subcomp;
icalcomponent_kind kind;
const gchar *newuri;
+ SoupURI *uri_parsed;
GHashTable *old_cache;
GSList *comps_in_cache;
@@ -303,9 +304,22 @@ retrieval_done (SoupSession *session, SoupMessage *msg, ECalBackendHttp *cbhttp)
newuri = soup_message_headers_get (msg->response_headers,
"Location");
- d(g_message ("Redirected to %s\n", newuri));
+ d(g_message ("Redirected from %s to %s\n", priv->uri, newuri));
if (newuri) {
+ if (newuri[0]=='/') {
+ g_warning ("Hey! Relative URI returned! Working around...\n");
+
+ uri_parsed = soup_uri_new (priv->uri);
+ soup_uri_set_path (uri_parsed, newuri);
+ soup_uri_set_query (uri_parsed, NULL);
+ // g_free(newuri);
+
+ newuri = soup_uri_to_string (uri_parsed, FALSE);
+ g_message ("Translated URI: %s\n", newuri);
+ soup_uri_free (uri_parsed);
+ }
+
g_free (priv->uri);
priv->uri = webcal_to_http_method (newuri, FALSE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]