diff options
Diffstat (limited to 'plugins/http-files/src/upload_stream_module.vala')
-rw-r--r-- | plugins/http-files/src/upload_stream_module.vala | 15 |
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); } |