Branch: refs/heads/master Author: Enrico enrico.trt@gmail.com Committer: Enrico enrico.trt@gmail.com Date: Sun, 24 Jun 2012 13:10:02 Commit: afd8e2906c38d945c961b2907d857edb7b26b3e6 https://github.com/geany/geany-plugins/commit/afd8e2906c38d945c961b2907d857e...
Log Message: ----------- geniuspaste: set a user agent for the HTTP request and initialize the SOUP session only when it's needed
Modified Paths: -------------- geniuspaste/src/geniuspaste.c
Modified: geniuspaste/src/geniuspaste.c 16 files changed, 13 insertions(+), 3 deletions(-) =================================================================== @@ -33,6 +33,10 @@
#include <geanyplugin.h>
+ +#define PLUGIN_NAME "GeniusPaste" +#define PLUGIN_VERSION "0.2" + #ifdef G_OS_WIN32 #define USERNAME getenv("USERNAME") #else @@ -84,9 +88,9 @@ static gboolean check_button_is_checked = FALSE;
PLUGIN_VERSION_CHECK(147) -PLUGIN_SET_TRANSLATABLE_INFO(LOCALEDIR, GETTEXT_PACKAGE, "GeniusPaste", +PLUGIN_SET_TRANSLATABLE_INFO(LOCALEDIR, GETTEXT_PACKAGE, PLUGIN_NAME, _("Paste your code on your favorite pastebin"), - "0.2", "Enrico Trotta"); + PLUGIN_VERSION, "Enrico Trotta");
static gint indexof(const gchar * string, gchar c) { @@ -160,7 +164,7 @@ static gchar *get_paste_text(GeanyDocument *doc, gsize *text_len)
static void paste(GeanyDocument * doc, const gchar * website) { - SoupSession *session = soup_session_async_new(); + SoupSession *session; SoupMessage *msg = NULL;
gchar *f_content; @@ -168,6 +172,7 @@ static void paste(GeanyDocument * doc, const gchar * website) gchar *f_title; gchar *p_url; gchar *formdata = NULL; + gchar *user_agent = NULL; gchar *temp_body; gchar **tokens_array;
@@ -273,6 +278,10 @@ static void paste(GeanyDocument * doc, const gchar * website)
}
+ user_agent = g_strconcat(PLUGIN_NAME, " ", PLUGIN_VERSION, " / Geany ", GEANY_VERSION, NULL); + session = soup_session_async_new_with_options(SOUP_SESSION_USER_AGENT, user_agent, NULL); + g_free(user_agent); + soup_message_set_request(msg, "application/x-www-form-urlencoded", SOUP_MEMORY_COPY, formdata, strlen(formdata));
@@ -362,6 +371,7 @@ static void paste(GeanyDocument * doc, const gchar * website)
g_free(f_content); g_free(p_url); + g_object_unref(session); }
static void item_activate(GtkMenuItem * menuitem, gpointer gdata)
@@ Diff output truncated at 100000 characters. @@
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: TBD).