Hi folks,
We are serving a tileset whose URL is this:
'https://myserver/mytileset.json?somename=some_value_with_a_comma,and_an_encoded_comma%2C'
And we’re trying to use this tileset in a CesiumJS client program, using a Cesium3DTileset.
So we give the desired url string to the constructor:
tileset = new Cesium.Cesium3DTileset({
url : 'https://myserver/mytileset.json?somename=some_value_with_a_comma,and_an_encoded_comma%2C',
});
But that’s not the request that is sent over the network. Instead, what is sent is:
'https://myserver/mytileset.json?somename=some_value_with_a_comma%2Cand_an_encoded_comma%2C'
This has thrown us into complete turmoil
Questions:
(1) Can we express the desired URL at all?
It seems to be impossible, using a Cesium3DTileset,
and so we are actually changing/redesigning our tileset server to work around this.
Specifically, it seems that the actual url can’t contain any ‘,’ characters,
since those just simply can’t be expressed at all. (Is that right?)
The amount of design work and discussions we are having right now
in order to figure out what contortions to use to avoid the ‘,’
(and maybe other characters? we don’t even know) is mind-boggling.
(2) Why on earth is CesiumJS doing anything to the ‘url’ at all?
Is there any reason it shouldn’t be simply sending the url string
I give it, as the actual request URL string?
(3) What other restrictions / transformations is it doing?
We know it percent-encodes ‘,’ (in only some positions in the url? not sure),
and ‘%’ apparently gets left alone in the above example;
but in other cases, ‘%’ seems to make it silently fail
(no requests are sent at all), e.g. each of the following examples:
url=‘https://myserver/mytileset%.json’
url=‘https://myserver/mytileset.json%’
url=‘https://myserver/mytileset.json?name=value_with_a_percent_%’
Thanks,
Don Hatch