Трансмиссия-RPC от Валы с Супом
Я пытаюсь взаимодействовать с Transmission-rpc из кода vala. Когда я отправляю запрос, в ответе говорится «нет имени метода». Может ли кто-нибудь помочь пролить свет на то, где я ошибаюсь? Для ясности это в основном скопировано из официальных примеров GNOME.
size_t length;
string json;
Torrent[] torrents = {};
var msg = new Soup.Message("POST", path);
var gen = new Json.Generator ();
var root = new Json.Node(Json.NodeType.OBJECT);
var object = new Json.Object ();
root.set_object (object);
gen.set_root (root);
var args = new Json.Object ();
object.set_object_member ("arguments", args);
object.set_string_member ("method", "torrent-get");
var fields = new Json.Array ();
foreach (string s in std_fields)
fields.add_string_element(s);
args.set_array_member ("fields", fields);
json = gen.to_data (out length);
msg.request_body.append_take ((uint8[])json);
msg.request_headers.append ("X-Transmission-Session-Id", sessionid);
session.send_message (msg);
print((string)msg.response_body.flatten().data);
session - это объект SessionAsync, если это важно.