Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/twitter/twitter_http.c

    rb235228 r5983eca  
    4747 * This is actually pretty generic function... Perhaps it should move to the lib/http_client.c
    4848 */
    49 struct http_request *twitter_http(struct im_connection *ic, char *url_string, http_input_function func,
    50                                   gpointer data, int is_post, char **arguments, int arguments_len)
     49void *twitter_http(struct im_connection *ic, char *url_string, http_input_function func,
     50                   gpointer data, int is_post, char **arguments, int arguments_len)
    5151{
    5252        struct twitter_data *td = ic->proto_data;
     
    5555        void *ret;
    5656        char *url_arguments;
    57         url_t *base_url = NULL;
    5857
    5958        url_arguments = g_strdup("");
     
    6867                }
    6968        }
    70        
    71         if (strstr(url_string, "://")) {
    72                 base_url = g_new0(url_t, 1);
    73                 if (!url_set(base_url, url_string)) {
    74                         g_free(base_url);
    75                         return NULL;
    76                 }
    77         }
    78        
    7969        // Make the request.
    8070        g_string_printf(request, "%s %s%s%s%s HTTP/1.0\r\n"
     
    8272                        "User-Agent: BitlBee " BITLBEE_VERSION " " ARCH "/" CPU "\r\n",
    8373                        is_post ? "POST" : "GET",
    84                         base_url ? base_url->file : td->url_path,
    85                         base_url ? "" : url_string,
    86                         is_post ? "" : "?", is_post ? "" : url_arguments,
    87                         base_url ? base_url->host : td->url_host);
     74                        td->url_path, url_string,
     75                        is_post ? "" : "?", is_post ? "" : url_arguments, td->url_host);
    8876
    8977        // If a pass and user are given we append them to the request.
     
    9280                char *full_url;
    9381
    94                 if (base_url)
    95                         full_url = g_strdup(url_string);
    96                 else
    97                         full_url = g_strconcat(set_getstr(&ic->acc->set, "base_url"), url_string, NULL);
     82                full_url = g_strconcat(set_getstr(&ic->acc->set, "base_url"), url_string, NULL);
    9883                full_header = oauth_http_header(td->oauth_info, is_post ? "POST" : "GET",
    9984                                                full_url, url_arguments);
     
    124109        }
    125110
    126         if (base_url)
    127                 ret = http_dorequest(base_url->host, base_url->port, base_url->proto == PROTO_HTTPS, request->str, func, data);
    128         else
    129                 ret = http_dorequest(td->url_host, td->url_port, td->url_ssl, request->str, func, data);
     111        ret = http_dorequest(td->url_host, td->url_port, td->url_ssl, request->str, func, data);
    130112
    131113        g_free(url_arguments);
    132114        g_string_free(request, TRUE);
    133         g_free(base_url);
    134         return ret;
    135 }
    136 
    137 struct http_request *twitter_http_f(struct im_connection *ic, char *url_string, http_input_function func,
    138                                     gpointer data, int is_post, char **arguments, int arguments_len, twitter_http_flags_t flags)
    139 {
    140         struct http_request *ret = twitter_http(ic, url_string, func, data, is_post, arguments, arguments_len);
    141         if (ret)
    142                 ret->flags |= flags;
    143115        return ret;
    144116}
Note: See TracChangeset for help on using the changeset viewer.