puppetlabs/puppet — pull request #2419 by zaphod42 (2014-03-07 20:55:06+00:00)
Title: (PUP-1885) Stringify ignores for file serving

Commit 6353ebbbc0d3804e30e9961559b01c9a69a74a93 introduced non-yaml
encoding for arrays of HTTP parameters. Unfortunately this also exposed
those values to the type conversion that is done to parameters in the HTTP
layer, which caused an ignore for a file matching "0" to be turned into
the number 0. The file serving code didn't handle getting non-string
ignore patterns and would then raise an error.

This changes the file server to stringify all of the parameters that it
recieves for ignores, which solves both the number problem as well as a
related one for booleans.

An alternative solution to this would have been to change the HTTP handler
so that it didn't try to convert arrays of values. I didn't go for that
because it would have caused the parameter handling to be inconsistent.