diff options
author | Alan F <ajf@eth0.org.uk> | 2014-02-19 08:54:10 +0000 |
---|---|---|
committer | Alan F <ajf@eth0.org.uk> | 2014-02-19 08:54:10 +0000 |
commit | 1d6f77d4c4fafd0a9cafddd2797249557e601dba (patch) | |
tree | 33dee51882a0475aff63ec6c6d9095c92c9ac5d4 /src/requests.c | |
parent | adf06453574270bf467b5f37e632c04c153ee90a (diff) |
refactor the torrent upload code (it's called from a few places so is probably worth it), and make it easier to use a HTTP response as the input.
Diffstat (limited to 'src/requests.c')
-rw-r--r-- | src/requests.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/requests.c b/src/requests.c index 95be1d7..43a8561 100644 --- a/src/requests.c +++ b/src/requests.c @@ -227,7 +227,22 @@ JsonNode *torrent_add_url(const gchar * url, gboolean paused) return root; } -JsonNode *torrent_add(gchar * target, gint flags) +JsonNode *torrent_add_from_response(trg_response *response, gint flags) { + JsonNode *root = base_request(METHOD_TORRENT_ADD); + JsonObject *args = node_get_arguments(root); + gchar *encoded = g_base64_encode((guchar *)response->raw, response->size); + + json_object_set_string_member(args, PARAM_METAINFO, + encoded); + g_free(encoded); + + json_object_set_boolean_member(args, PARAM_PAUSED, + (flags & TORRENT_ADD_FLAG_PAUSED)); + + return root; +} + +JsonNode *torrent_add_from_file(gchar * target, gint flags) { JsonNode *root; JsonObject *args; |