[tracker/wip/carlosg/statement-fixes: 5/7] libtracker-data: Refactor some soup2/3 code handling




commit adced59098b8afe2b04417c94a0dbb04a3e8394d
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Nov 10 23:28:11 2021 +0200

    libtracker-data: Refactor some soup2/3 code handling
    
    Remove the need for one ifdef, and make a consistent handling of empty
    responses.

 src/libtracker-sparql/remote/tracker-remote.vala | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/src/libtracker-sparql/remote/tracker-remote.vala 
b/src/libtracker-sparql/remote/tracker-remote.vala
index 252d70a40..f29a989ad 100644
--- a/src/libtracker-sparql/remote/tracker-remote.vala
+++ b/src/libtracker-sparql/remote/tracker-remote.vala
@@ -83,18 +83,19 @@ public class Tracker.Remote.Connection : Tracker.Sparql.Connection {
 
 #if SOUP2
                _session.send_message (message);
+               var data = (string) message.response_body.flatten ().data;
 #else
-                var body = _session.send_and_read (message);
+               var body = _session.send_and_read (message);
+               var data = (string) body.get_data();
 #endif
 
+               if (data == null || data == "")
+                       throw new Sparql.Error.UNSUPPORTED ("Empty response");
+
                if (cancellable != null && cancellable.is_cancelled ())
                        throw new IOError.CANCELLED ("Operation was cancelled");
 
-#if SOUP2
-                return create_cursor (message, (string) message.response_body.flatten ().data);
-#else
-                return create_cursor (message, (string) body.get_data());
-#endif
+                return create_cursor (message, (string) data);
        }
 
        public async override Sparql.Cursor query_async (string sparql, Cancellable? cancellable) throws 
GLib.Error, Sparql.Error, IOError {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]