From e4eff4658bc42c28097fb4fbcc7f1220bbf21e78 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Mon, 21 Oct 2013 12:02:53 +0200 Subject: [PATCH] Improve handling of error responses from Bing Previously goog.asserts.assert was used to check that the response was successful, which are stripped from compiled code. This commit sets the ERROR state on the source instead. --- src/ol/source/bingmapssource.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/ol/source/bingmapssource.js b/src/ol/source/bingmapssource.js index 54816e51f9..9a2ce54635 100644 --- a/src/ol/source/bingmapssource.js +++ b/src/ol/source/bingmapssource.js @@ -54,17 +54,18 @@ goog.inherits(ol.source.BingMaps, ol.source.TileImage); ol.source.BingMaps.prototype.handleImageryMetadataResponse = function(response) { - goog.asserts.assert( - response.authenticationResultCode == 'ValidCredentials'); - goog.asserts.assert(response.statusCode == 200); - goog.asserts.assert(response.statusDescription == 'OK'); + if (response.statusCode != 200 || + response.statusDescription != 'OK' || + response.authenticationResultCode != 'ValidCredentials' || + response.resourceSets.length != 1 || + response.resourceSets[0].length != 1) { + this.setState(ol.source.State.ERROR); + return; + } var brandLogoUri = response.brandLogoUri; //var copyright = response.copyright; // FIXME do we need to display this? - goog.asserts.assert(response.resourceSets.length == 1); - var resourceSet = response.resourceSets[0]; - goog.asserts.assert(resourceSet.resources.length == 1); - var resource = resourceSet.resources[0]; + var resource = response.resourceSets[0].resources[0]; var tileGrid = new ol.tilegrid.XYZ({ minZoom: resource.zoomMin,