diff options
| author | Marvin W <git@larma.de> | 2023-03-22 12:29:58 -0600 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-02-10 23:40:47 +0100 |
| commit | 6f04aac3d9ce74283b729b4afb0ab7f220237534 (patch) | |
| tree | 394aa368934f23295de48c91e27b67802a31b171 /plugins/http-files/src/file_provider.vala | |
| parent | 99d1bf3d540c1346398439f0f4bbc2d1e18b6214 (diff) | |
| download | dino-6f04aac3d9ce74283b729b4afb0ab7f220237534.tar.gz | |
Bind soup session lifetime to File provider/sender lifetime
Required since libsoup 3.4. Fixes #1395
Diffstat (limited to 'plugins/http-files/src/file_provider.vala')
| -rw-r--r-- | plugins/http-files/src/file_provider.vala | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/plugins/http-files/src/file_provider.vala b/plugins/http-files/src/file_provider.vala index 0909073e..7c9b1ab7 100644 --- a/plugins/http-files/src/file_provider.vala +++ b/plugins/http-files/src/file_provider.vala @@ -10,13 +10,16 @@ public class FileProvider : Dino.FileProvider, Object { private StreamInteractor stream_interactor; private Dino.Database dino_db; + private Soup.Session session; private static Regex http_url_regex = /^https?:\/\/([^\s#]*)$/; // Spaces are invalid in URLs and we can't use fragments for downloads private static Regex omemo_url_regex = /^aesgcm:\/\/(.*)#(([A-Fa-f0-9]{2}){48}|([A-Fa-f0-9]{2}){44})$/; public FileProvider(StreamInteractor stream_interactor, Dino.Database dino_db) { this.stream_interactor = stream_interactor; this.dino_db = dino_db; + this.session = new Soup.Session(); + session.user_agent = @"Dino/$(Dino.get_short_version()) "; stream_interactor.get_module(MessageProcessor.IDENTITY).received_pipeline.connect(new ReceivedMessageListener(this)); } @@ -114,8 +117,6 @@ public class FileProvider : Dino.FileProvider, Object { HttpFileReceiveData? http_receive_data = receive_data as HttpFileReceiveData; if (http_receive_data == null) return file_meta; - var session = new Soup.Session(); - session.user_agent = @"Dino/$(Dino.get_short_version()) "; var head_message = new Soup.Message("HEAD", http_receive_data.url); head_message.request_headers.append("Accept-Encoding", "identity"); @@ -152,8 +153,6 @@ public class FileProvider : Dino.FileProvider, Object { HttpFileReceiveData? http_receive_data = receive_data as HttpFileReceiveData; if (http_receive_data == null) assert(false); - var session = new Soup.Session(); - session.user_agent = @"Dino/$(Dino.get_short_version()) "; var get_message = new Soup.Message("GET", http_receive_data.url); try { |
