aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/twitter/twitter_http.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/twitter/twitter_http.c')
-rw-r--r--protocols/twitter/twitter_http.c65
1 files changed, 29 insertions, 36 deletions
diff --git a/protocols/twitter/twitter_http.c b/protocols/twitter/twitter_http.c
index ff17f5f4..dbac5461 100644
--- a/protocols/twitter/twitter_http.c
+++ b/protocols/twitter/twitter_http.c
@@ -26,7 +26,7 @@
* Some funtions within this file have been copied from other files within *
* BitlBee. *
* *
-****************************************************************************/
+****************************************************************************/
#include "twitter.h"
#include "bitlbee.h"
@@ -40,13 +40,14 @@
#include "twitter_http.h"
-static char *twitter_url_append(char *url, char *key, char* value);
+static char *twitter_url_append(char *url, char *key, char *value);
/**
* Do a request.
* This is actually pretty generic function... Perhaps it should move to the lib/http_client.c
*/
-void *twitter_http(struct im_connection *ic, char *url_string, http_input_function func, gpointer data, int is_post, char** arguments, int arguments_len)
+void *twitter_http(struct im_connection *ic, char *url_string, http_input_function func,
+ gpointer data, int is_post, char **arguments, int arguments_len)
{
struct twitter_data *td = ic->proto_data;
char *tmp;
@@ -57,59 +58,51 @@ void *twitter_http(struct im_connection *ic, char *url_string, http_input_functi
url_arguments = g_strdup("");
// Construct the url arguments.
- if (arguments_len != 0)
- {
+ if (arguments_len != 0) {
int i;
- for (i=0; i<arguments_len; i+=2)
- {
- tmp = twitter_url_append(url_arguments, arguments[i], arguments[i+1]);
+ for (i = 0; i < arguments_len; i += 2) {
+ tmp = twitter_url_append(url_arguments, arguments[i], arguments[i + 1]);
g_free(url_arguments);
url_arguments = tmp;
}
}
-
// Make the request.
g_string_printf(request, "%s %s%s%s%s HTTP/1.0\r\n"
- "Host: %s\r\n"
- "User-Agent: BitlBee " BITLBEE_VERSION " " ARCH "/" CPU "\r\n",
- is_post ? "POST" : "GET",
- td->url_path, url_string,
- is_post ? "" : "?", is_post ? "" : url_arguments,
- td->url_host);
+ "Host: %s\r\n"
+ "User-Agent: BitlBee " BITLBEE_VERSION " " ARCH "/" CPU "\r\n",
+ is_post ? "POST" : "GET",
+ td->url_path, url_string,
+ is_post ? "" : "?", is_post ? "" : url_arguments, td->url_host);
// If a pass and user are given we append them to the request.
- if (td->oauth_info)
- {
+ if (td->oauth_info) {
char *full_header;
char *full_url;
-
- full_url = g_strconcat(set_getstr(&ic->acc->set, "base_url" ), url_string, NULL);
+
+ full_url = g_strconcat(set_getstr(&ic->acc->set, "base_url"), url_string, NULL);
full_header = oauth_http_header(td->oauth_info, is_post ? "POST" : "GET",
- full_url, url_arguments);
-
+ full_url, url_arguments);
+
g_string_append_printf(request, "Authorization: %s\r\n", full_header);
g_free(full_header);
g_free(full_url);
- }
- else
- {
- char userpass[strlen(ic->acc->user)+2+strlen(ic->acc->pass)];
+ } else {
+ char userpass[strlen(ic->acc->user) + 2 + strlen(ic->acc->pass)];
char *userpass_base64;
-
+
g_snprintf(userpass, sizeof(userpass), "%s:%s", ic->acc->user, ic->acc->pass);
- userpass_base64 = base64_encode((unsigned char*)userpass, strlen(userpass));
+ userpass_base64 = base64_encode((unsigned char *) userpass, strlen(userpass));
g_string_append_printf(request, "Authorization: Basic %s\r\n", userpass_base64);
- g_free( userpass_base64 );
+ g_free(userpass_base64);
}
// Do POST stuff..
- if (is_post)
- {
+ if (is_post) {
// Append the Content-Type and url-encoded arguments.
g_string_append_printf(request,
- "Content-Type: application/x-www-form-urlencoded\r\n"
- "Content-Length: %zd\r\n\r\n%s",
- strlen(url_arguments), url_arguments);
+ "Content-Type: application/x-www-form-urlencoded\r\n"
+ "Content-Length: %zd\r\n\r\n%s",
+ strlen(url_arguments), url_arguments);
} else {
// Append an extra \r\n to end the request...
g_string_append(request, "\r\n");
@@ -117,12 +110,12 @@ void *twitter_http(struct im_connection *ic, char *url_string, http_input_functi
ret = http_dorequest(td->url_host, td->url_port, td->url_ssl, request->str, func, data);
- g_free( url_arguments );
- g_string_free( request, TRUE );
+ g_free(url_arguments);
+ g_string_free(request, TRUE);
return ret;
}
-static char *twitter_url_append(char *url, char *key, char* value)
+static char *twitter_url_append(char *url, char *key, char *value)
{
char *key_encoded = g_strndup(key, 3 * strlen(key));
http_encode(key_encoded);