Bug #4191
closedSaxon-JS error on null Content-Type
100%
Description
In my UI, I poll the server and refresh content on the page that's changed. I added support for the etag[1] header and ran across a Saxon-JS bug. When I sent an If-None-Match header and the resource is unchanged, the server sends back a "304 Not Modified" and no Content-Type, causing the line in Saxon-JS "var typeParts = respContentType.split(/;/);" to fail with "TypeError: null is not an object (evaluating 'respContentType.split')". I wrapped it in a try/catch as a workaround. Note I had already modified "var part2" to avoid a different error: https://saxonica.plan.io/boards/5/topics/7423
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag
dcramer@anatine ~/git-repos/spec-service (updateTitleAndAuthorAuthorUI *)
$ git diff api/app/src/main/webapp/author/resources/Saxon-JS/SaxonJS.js
diff --git a/api/app/src/main/webapp/author/resources/Saxon-JS/SaxonJS.js b/api/app/src/main/webapp/author/resources/Saxon-JS/SaxonJS.js
index f540b4b..f567d87 100644
--- a/api/app/src/main/webapp/author/resources/Saxon-JS/SaxonJS.js
+++ b/api/app/src/main/webapp/author/resources/Saxon-JS/SaxonJS.js
@@ -368,8 +368,13 @@ var BrowserPlatform = (function () {
if (!request["status-only"]) {
var respContentType = http.getResponseHeader('Content-Type');
// get part of string before ';'
- var typeParts = respContentType.split(/;/);
- var mediaType = typeParts[0];
+ // DWC: Adding Try/Catch in case there's no ; in the respConentType
+ try{
+ var typeParts = respContentType.split(/;/);
+ var mediaType = typeParts[0];
+ } catch(e) {
+ var mediaType = respContentType;
+ }
var part2 = ''; //typeParts[1].trim(); // will this work if 'Content-Type' string only contains media type?
// part2 may be 'boundary=...' (if multipart), or encoding 'charset=...'
// TODO use part2
Please register to edit this issue
Also available in: Atom PDF Tracking page