+1 Awesome, thanks.
On Jul 1, 2009, at 11:39 PM, Jordan Curzon wrote: > > Mongrel::HttpRequest.query_parse outputs a params hash with nil > keys given certain query strings. Network::HTTP::Handler.decode_params > needs to check the incoming values. > > Signed-off-by: Jordan Curzon <[email protected]> > --- > lib/puppet/network/http/handler.rb | 2 ++ > spec/unit/network/http/mongrel/rest.rb | 5 +++++ > 2 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/lib/puppet/network/http/handler.rb b/lib/puppet/network/ > http/handler.rb > index 9528d39..c6b809d 100644 > --- a/lib/puppet/network/http/handler.rb > +++ b/lib/puppet/network/http/handler.rb > @@ -182,6 +182,8 @@ module Puppet::Network::HTTP::Handler > def decode_params(params) > params.inject({}) do |result, ary| > param, value = ary > + next result if param.blank? > + > param = param.to_sym > > # These shouldn't be allowed to be set by clients > diff --git a/spec/unit/network/http/mongrel/rest.rb b/spec/unit/ > network/http/mongrel/rest.rb > index 5a5d2cf..abd573a 100755 > --- a/spec/unit/network/http/mongrel/rest.rb > +++ b/spec/unit/network/http/mongrel/rest.rb > @@ -92,6 +92,11 @@ describe "Puppet::Network::HTTP::MongrelREST" do > @request.stubs(:params).returns({}) > end > > + it "should skip empty parameter values" do > + @request.expects(:params).returns('QUERY_STRING' => > "&=") > + lambda { @handler.params(@request) }.should_not > raise_error > + end > + > it "should include the HTTP request parameters, with the > keys as symbols" do > @request.expects(:params).returns('QUERY_STRING' => > 'foo=baz&bar=xyzzy') > result = @handler.params(@request) > -- > 1.6.3.3 > > > > -- Men will wrangle for religion; write for it; fight for it; die for it; anything but live for it. --Charles Caleb Colton --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
