[gnome-maps/wip/mlundblad/handle-search-http-errors: 1/4] graphHopperGeocode: Set HTTP timeout
- From: Marcus Lundblad <mlundblad src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-maps/wip/mlundblad/handle-search-http-errors: 1/4] graphHopperGeocode: Set HTTP timeout
- Date: Mon, 28 Sep 2020 20:46:51 +0000 (UTC)
commit ee3fbac5703ea8a2b8ebe0f16a2be6f8d15c4545
Author: Marcus Lundblad <ml update uu se>
Date: Mon Sep 21 22:04:59 2020 +0200
graphHopperGeocode: Set HTTP timeout
Set timeout on the SoupSession and activate the
callback with the status code on errors.
src/graphHopperGeocode.js | 29 +++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)
---
diff --git a/src/graphHopperGeocode.js b/src/graphHopperGeocode.js
index e94442c2..e63877e4 100644
--- a/src/graphHopperGeocode.js
+++ b/src/graphHopperGeocode.js
@@ -30,9 +30,14 @@ const PhotonParser = imports.photonParser;
const Service = imports.service;
const Utils = imports.utils;
+// HTTP session timeout (in seconds)
+const TIMEOUT = 5;
+
var GraphHopperGeocode = class {
constructor() {
- this._session = new Soup.Session({ user_agent : 'gnome-maps/' + pkg.version });
+ this._session =
+ new Soup.Session({ user_agent : 'gnome-maps/' + pkg.version,
+ timeout: TIMEOUT });
this._readService();
this._limit = Application.settings.get('max-search-results');
}
@@ -51,15 +56,19 @@ var GraphHopperGeocode = class {
if (cancellable.is_cancelled())
return;
- try {
- let result = this._parseMessage(message.response_body.data);
- if (!result)
- callback(null, null);
- else
- callback(result, null);
- } catch (e) {
- Utils.debug('Error: ' + e);
- callback(null, e);
+ if (message.status_code !== Soup.KnownStatusCode.OK) {
+ callback(null, msg.status_code);
+ } else {
+ try {
+ let result = this._parseMessage(message.response_body.data);
+ if (!result)
+ callback(null, null);
+ else
+ callback(result, null);
+ } catch (e) {
+ Utils.debug('Error: ' + e);
+ callback(null, e);
+ }
}
});
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]