evolution-data-server r10019 - in branches/gnome-2-24/calendar: . backends/http
- From: msuman svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-data-server r10019 - in branches/gnome-2-24/calendar: . backends/http
- Date: Mon, 2 Feb 2009 03:49:51 +0000 (UTC)
Author: msuman
Date: Mon Feb 2 03:49:51 2009
New Revision: 10019
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=10019&view=rev
Log:
Patch from Petr Tomasek: Fix for bug #429317 (Use the relative URI returned if the server re-directs a request).
Modified:
branches/gnome-2-24/calendar/ChangeLog
branches/gnome-2-24/calendar/backends/http/e-cal-backend-http.c
Modified: branches/gnome-2-24/calendar/backends/http/e-cal-backend-http.c
==============================================================================
--- branches/gnome-2-24/calendar/backends/http/e-cal-backend-http.c (original)
+++ branches/gnome-2-24/calendar/backends/http/e-cal-backend-http.c Mon Feb 2 03:49:51 2009
@@ -241,6 +241,7 @@
icalcomponent *icalcomp, *subcomp;
icalcomponent_kind kind;
const char *newuri;
+ SoupURI *uri_parsed;
GHashTable *old_cache;
GList *comps_in_cache;
@@ -254,9 +255,22 @@
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);
@@ -483,6 +497,11 @@
/* create message to be sent to server */
soup_message = soup_message_new (SOUP_METHOD_GET, priv->uri);
+ if (!soup_message) {
+ g_critical ("Cannot fetch the webcal!\n");
+ return TRUE;
+ }
+
soup_message_headers_append (soup_message->request_headers, "User-Agent",
"Evolution/" VERSION);
soup_message_set_flags (soup_message, SOUP_MESSAGE_NO_REDIRECT);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]