comparison libpurple/protocols/yahoo/yahoo_aliases.c @ 22330:d4998f31bc1a

merge of '4bc84ea5ca10129cd5e46b2f0f8f8e6b6a9146b3' and 'c1feccb59fff57f000efd2b3f63ad2b5029bfc97'
author John Bailey <rekkanoryo@rekkanoryo.org>
date Sun, 24 Feb 2008 18:21:02 +0000
parents 3550c5d7c493 b0ed2ce8514d
children 3225c99785b8
comparison
equal deleted inserted replaced
22328:10f9cc2808ec 22330:d4998f31bc1a
146 struct callback_data *cb; 146 struct callback_data *cb;
147 const char *url; 147 const char *url;
148 char *request, *webpage, *webaddress; 148 char *request, *webpage, *webaddress;
149 PurpleUtilFetchUrlData *url_data; 149 PurpleUtilFetchUrlData *url_data;
150 150
151 gboolean use_whole_url = FALSE;
152
153 /* use whole URL if using HTTP Proxy */
154 if ((gc->account->proxy_info) && (gc->account->proxy_info->type == PURPLE_PROXY_HTTP))
155 use_whole_url = TRUE;
156
151 /* Using callback_data so I have access to gc in the callback function */ 157 /* Using callback_data so I have access to gc in the callback function */
152 cb = g_new0(struct callback_data, 1); 158 cb = g_new0(struct callback_data, 1);
153 cb->gc = gc; 159 cb->gc = gc;
154 160
155 /* Build all the info to make the web request */ 161 /* Build all the info to make the web request */
156 url = yd->jp ? YAHOOJP_ALIAS_FETCH_URL : YAHOO_ALIAS_FETCH_URL; 162 url = yd->jp ? YAHOOJP_ALIAS_FETCH_URL : YAHOO_ALIAS_FETCH_URL;
157 purple_url_parse(url, &webaddress, NULL, &webpage, NULL, NULL); 163 purple_url_parse(url, &webaddress, NULL, &webpage, NULL, NULL);
158 request = g_strdup_printf("GET /%s HTTP/1.1\r\n" 164 request = g_strdup_printf("GET %s%s/%s HTTP/1.1\r\n"
159 "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5)\r\n" 165 "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5)\r\n"
160 "Cookie: T=%s; Y=%s\r\n" 166 "Cookie: T=%s; Y=%s\r\n"
161 "Host: %s\r\n" 167 "Host: %s\r\n"
162 "Cache-Control: no-cache\r\n\r\n", 168 "Cache-Control: no-cache\r\n\r\n",
163 webpage, yd->cookie_t,yd->cookie_y, webaddress); 169 use_whole_url ? "http://" : "", use_whole_url ? webaddress : "", webpage, yd->cookie_t,yd->cookie_y, webaddress);
164 170
165 /* We have a URL and some header information, let's connect and get some aliases */ 171 /* We have a URL and some header information, let's connect and get some aliases */
166 url_data = purple_util_fetch_url_request(url, FALSE, NULL, TRUE, request, FALSE, yahoo_fetch_aliases_cb, cb); 172 url_data = purple_util_fetch_url_request(url, use_whole_url, NULL, TRUE, request, FALSE, yahoo_fetch_aliases_cb, cb);
167 if (url_data != NULL) { 173 if (url_data != NULL) {
168 yd->url_datas = g_slist_prepend(yd->url_datas, url_data); 174 yd->url_datas = g_slist_prepend(yd->url_datas, url_data);
169 } 175 }
170 176
171 g_free(webaddress); 177 g_free(webaddress);
230 char *escaped_alias, *alias_jp, *converted_alias_jp; 236 char *escaped_alias, *alias_jp, *converted_alias_jp;
231 int inttmp; 237 int inttmp;
232 struct callback_data *cb; 238 struct callback_data *cb;
233 PurpleBuddy *buddy; 239 PurpleBuddy *buddy;
234 PurpleUtilFetchUrlData *url_data; 240 PurpleUtilFetchUrlData *url_data;
241 gboolean use_whole_url = FALSE;
242
243 /* use whole URL if using HTTP Proxy */
244 if ((gc->account->proxy_info) && (gc->account->proxy_info->type == PURPLE_PROXY_HTTP))
245 use_whole_url = TRUE;
235 246
236 g_return_if_fail(alias != NULL); 247 g_return_if_fail(alias != NULL);
237 g_return_if_fail(who != NULL); 248 g_return_if_fail(who != NULL);
238 g_return_if_fail(gc != NULL); 249 g_return_if_fail(gc != NULL);
239 250
272 "<ct e=\"1\" yi='%s' id='%s' nn='%s' pr='0' />\n</ab>\r\n", 283 "<ct e=\"1\" yi='%s' id='%s' nn='%s' pr='0' />\n</ab>\r\n",
273 gc->account->username, who, yu->id, escaped_alias); 284 gc->account->username, who, yu->id, escaped_alias);
274 g_free(escaped_alias); 285 g_free(escaped_alias);
275 } 286 }
276 287
277 request = g_strdup_printf("POST /%s HTTP/1.1\r\n" 288 request = g_strdup_printf("POST %s%s/%s HTTP/1.1\r\n"
278 "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5)\r\n" 289 "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5)\r\n"
279 "Cookie: T=%s; Y=%s\r\n" 290 "Cookie: T=%s; Y=%s\r\n"
280 "Host: %s\r\n" 291 "Host: %s\r\n"
281 "Content-Length: %" G_GSIZE_FORMAT "\r\n" 292 "Content-Length: %" G_GSIZE_FORMAT "\r\n"
282 "Cache-Control: no-cache\r\n\r\n" 293 "Cache-Control: no-cache\r\n\r\n"
283 "%s", 294 "%s",
284 webpage, yd->cookie_t,yd->cookie_y, webaddress, 295 use_whole_url ? "http://" : "", use_whole_url ? webaddress : "", webpage, yd->cookie_t,yd->cookie_y, webaddress,
285 strlen(content), content); 296 strlen(content), content);
286 297
287 /* We have a URL and some header information, let's connect and update the alias */ 298 /* We have a URL and some header information, let's connect and update the alias */
288 url_data = purple_util_fetch_url_request(url, FALSE, NULL, TRUE, request, FALSE, yahoo_update_alias_cb, cb); 299 url_data = purple_util_fetch_url_request(url, use_whole_url, NULL, TRUE, request, FALSE, yahoo_update_alias_cb, cb);
289 if (url_data != NULL) { 300 if (url_data != NULL) {
290 yd->url_datas = g_slist_prepend(yd->url_datas, url_data); 301 yd->url_datas = g_slist_prepend(yd->url_datas, url_data);
291 } 302 }
292 303
293 g_free(content); 304 g_free(content);