summaryrefslogtreecommitdiff
path: root/src/libtracker-sparql/remote/tracker-remote.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtracker-sparql/remote/tracker-remote.vala')
-rw-r--r--src/libtracker-sparql/remote/tracker-remote.vala37
1 files changed, 29 insertions, 8 deletions
diff --git a/src/libtracker-sparql/remote/tracker-remote.vala b/src/libtracker-sparql/remote/tracker-remote.vala
index 206c237fc..50dc612f3 100644
--- a/src/libtracker-sparql/remote/tracker-remote.vala
+++ b/src/libtracker-sparql/remote/tracker-remote.vala
@@ -39,7 +39,11 @@ public class Tracker.Remote.Connection : Tracker.Sparql.Connection {
private Soup.Message create_request (string sparql) {
var uri = _base_uri + "?query=" + sparql;
var message = new Soup.Message ("GET", uri);
+#if SOUP2
var headers = message.request_headers;
+#else
+ var headers = message.get_request_headers();
+#endif
headers.append ("User-Agent", USER_AGENT);
headers.append ("Accept", JSON_TYPE);
@@ -48,15 +52,20 @@ public class Tracker.Remote.Connection : Tracker.Sparql.Connection {
return message;
}
- private Sparql.Cursor create_cursor (Soup.Message message) throws GLib.Error, Sparql.Error {
- string document = (string) message.response_body.flatten ().data;
+ private Sparql.Cursor create_cursor (Soup.Message message, string document) throws GLib.Error, Sparql.Error {
+#if SOUP2
+ var status_code = message.status_code;
+ var headers = message.response_headers;
+#else
+ var status_code = message.get_status();
+ var headers = message.get_response_headers();
+#endif
- if (message.status_code != Soup.Status.OK) {
+ if (status_code != Soup.Status.OK) {
throw new Sparql.Error.UNSUPPORTED ("Unhandled status code %u, document is: %s",
- message.status_code, document);
+ status_code, document);
}
- var headers = message.response_headers;
var content_type = headers.get_content_type (null);
long length = document.length;
@@ -72,20 +81,32 @@ public class Tracker.Remote.Connection : Tracker.Sparql.Connection {
public override Sparql.Cursor query (string sparql, Cancellable? cancellable) throws GLib.Error, Sparql.Error, IOError {
var message = create_request (sparql);
+#if SOUP2
_session.send_message (message);
+#else
+ var body = _session.send_and_read (message);
+#endif
if (cancellable != null && cancellable.is_cancelled ())
throw new IOError.CANCELLED ("Operation was cancelled");
- return create_cursor (message);
+#if SOUP2
+ return create_cursor (message, (string) message.response_body.flatten ().data);
+#else
+ return create_cursor (message, (string) body.get_data());
+#endif
}
public async override Sparql.Cursor query_async (string sparql, Cancellable? cancellable) throws GLib.Error, Sparql.Error, IOError {
var message = create_request (sparql);
+#if SOUP2
yield _session.send_async (message, cancellable);
-
- return create_cursor (message);
+ return create_cursor (message, (string) message.response_body.flatten ().data);
+#else
+ var body = yield _session.send_and_read_async (message, GLib.Priority.DEFAULT, cancellable);
+ return create_cursor (message, (string) body.get_data());
+#endif
}
public override void close () {