should Mapserver WMS client URL encode?

Paul Ramsey pramsey at REFRACTIONS.NET
Fri Mar 25 15:32:11 EST 2005


Finally, since any parameters for a CGI request, either WMS or vanilla
mapserv.cgi, are read and decoded en masse in

   cgiutil.c:int loadParams(cgiRequestObj *request)

the WMS parameter handling in Mapserver is also out-of-spec. As long as
no one ever defines a LAYER or STYLE name with a "," in it though, no
one will ever notice.  As an added bonus, putting the behavior in-spec
would probably break a largish number of clients that improperly encode
the complete contents of the LAYER, STYLE and BBOX parameters.

As a side note, uDig originally did the wrong (but common) thing, of
encoding the full value string. For an in-spec server, this breaks
things. The only server that broke for us was CubeWerx. So in being
out-of-spec Mapserver is in the large majority. Happily, an in-spec
client (that does not encode the "," separator) can interoperate with
an out-of-spec server (that tries to decode the whole parameter), so
now uDig works with both CubeWerx and Mapserver.

Paul



More information about the mapserver-dev mailing list