aboutsummaryrefslogtreecommitdiff
path: root/plugins/http-files/src/upload_stream_module.vala
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/http-files/src/upload_stream_module.vala')
-rw-r--r--plugins/http-files/src/upload_stream_module.vala15
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/http-files/src/upload_stream_module.vala b/plugins/http-files/src/upload_stream_module.vala
index 2e697afa..2e794593 100644
--- a/plugins/http-files/src/upload_stream_module.vala
+++ b/plugins/http-files/src/upload_stream_module.vala
@@ -25,9 +25,18 @@ public class UploadStreamModule : XmppStreamModule {
Soup.Message message = new Soup.Message("PUT", url_up);
message.set_request(file_info.get_content_type(), Soup.MemoryUse.COPY, data);
Soup.Session session = new Soup.Session();
- session.send_async(message);
-
- listener(stream, url_down);
+ session.send_async.begin(message, null, (obj, res) => {
+ try {
+ session.send_async.end(res);
+ if (message.status_code == 200) {
+ listener(stream, url_down);
+ } else {
+ error_listener(stream, "HTTP status code " + message.status_code.to_string());
+ }
+ } catch (Error e) {
+ error_listener(stream, e.message);
+ }
+ });
},
error_listener);
}