summaryrefslogtreecommitdiff
path: root/src/requests.c
diff options
context:
space:
mode:
authorGravatar Alan F <ajf@eth0.org.uk>2014-02-19 08:54:10 +0000
committerGravatar Alan F <ajf@eth0.org.uk>2014-02-19 08:54:10 +0000
commit1d6f77d4c4fafd0a9cafddd2797249557e601dba (patch)
tree33dee51882a0475aff63ec6c6d9095c92c9ac5d4 /src/requests.c
parentadf06453574270bf467b5f37e632c04c153ee90a (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.c17
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;