it's a rack thing - here are the rack specs

Rack::Utils.parse_nested_query("foo=bar&foo=quux").
      should.equal "foo" => "quux"

Rack::Utils.parse_nested_query("foo[]=1&foo[]=2").
      should.equal "foo" => ["1", "2"]

so I'd need something like...

req.body = req.body.gsub('hub.verify=', 'hub.verify[]=') # Part 3 of
multivalue hack

or just pull them manually from the request.env
["rack.request.form_vars"]

I'll implement the latter or maybe alter rack slightly (locally) -- I
think there are actually a few places that this occurs in the python
spec.

Thanks again for the quick review,

Mike


On Jan 18, 12:39 pm, Michael Barinek <[email protected]> wrote:
> Correct, I believe that's the issue. I'll take a look as well when I get
> a chance.
>
> (for the other...I just needed to remove some load on the server/queue)
>
> Jeff Lindsay wrote:
> > Ohh, I see. Rack/Sinatra only supports single value params? Perhaps MY
> > multivalue hack (since http/net doesn't support sending multivalue
> > params) isn't working...
>
> > On Mon, Jan 18, 2010 at 11:25 AM, Michael Barinek <[email protected]
> > <mailto:[email protected]>> wrote:
>
> >     Agreed, the first passes.
>
> >     Although, the subscribe for 'Hub subscriber interface MUST ignore
> >     verify keywords it does not understand' includes
> >     ['sync','foobar','async']. I only receive one param in the rack
> >     request and locally I'm getting 'foobar' -- hence the resultant
> >     "Invalid values for hub.verify: foobar" or 400 response code.
>
> >     Mike
>
> >     Jeff Lindsay wrote:
>
> >         The only thing specific to App Engine is a check to see if it is
> >         a local dev environment for the reference hub, in which case it
> >         triggers the task queue so it finishes its cycle needed for it
> >         to pass the test.
> >         I'm not sure how you see that or the need for a multivalue hack
> >         based on the failed tests you shared.
>
> >         The first is the result of your hub not fetching published
> >         content after being pinged, and the second is just saying you
> >         shouldn't allow a catch-all for verify values. I'm not terribly
> >         sure why that's in the spec as a MUST, but it is.
>
> >         -jeff
>
> >         On Mon, Jan 18, 2010 at 10:45 AM, [email protected]
> >         <mailto:[email protected]> <mailto:[email protected]
> >         <mailto:[email protected]>> <[email protected]
> >         <mailto:[email protected]> <mailto:[email protected]
> >         <mailto:[email protected]>>> wrote:
>
> >            Cool, looks like most of the tests pass (failed below). For
> >         the first
> >            I would also need to include a multivalue hack...and the
> >         second seems
> >            to require Google app engine.
>
> >            I'll take a look/maybe implement the 'Not Yet Implemented' tests.
>
> >            I've also considered moving the queue to sqs and model
> >         objects to s3
> >            -- or similar (basically Gnip's original architecture). If
> >         anyone is
> >            interested in lending a hand let me know.
>
> >            1)
> >            'Hub publisher interface sends an HTTP GET request to the
> >         topic URL to
> >            fetch content' FAILED
> >            expected: "GET",
> >                got: nil (using ==)
> >            ./hub_spec.rb:59:
>
> >            2)
> >            'Hub subscriber interface MUST ignore verify keywords it does not
> >            understand' FAILED
> >            expected #<Net::HTTPBadRequest 400 Bad Request readbody=true>
> >         to be a
> >            kind of Net::HTTPSuccess
> >            ./hub_spec.rb:91:
>
> >            On Jan 18, 2:48 am, Jeff Lindsay <[email protected]
> >         <mailto:[email protected]>
> >            <mailto:[email protected] <mailto:[email protected]>>> wrote:
> >             > Also! Please use (and update if necessary) the hub
> >         testsuite we
>
> >          
> > made:http://code.google.com/p/pubsubhubbub/source/browse/trunk/testsuite/R...
>
> >             > Luckily for you, it happens to be written in Ruby!
>
> >             > -jeff
>
> >             > On Sun, Jan 17, 2010 at 5:47 PM, Brett Slatkin
> >            <[email protected] <mailto:[email protected]>
> >         <mailto:[email protected] <mailto:[email protected]>>> wrote:
> >             > > On Sun, Jan 17, 2010 at 4:48 PM, [email protected]
> >         <mailto:[email protected]>
> >            <mailto:[email protected] <mailto:[email protected]>>
> >         <[email protected] <mailto:[email protected]>
> >            <mailto:[email protected] <mailto:[email protected]>>>
>
> >             > > wrote:
> >             > > > Is there any interest out there for a full Ruby
> >            implementation? It's
> >             > > > pretty much a straight port using Sinatra and Redis
> >         including
> >            a basic
> >             > > > task queue. I'm currently testing the hub on AWS and
> >         hoping
> >            to open
> >             > > > source the code on GitHub. (I've also ported most of the
> >            python tests)
>
> >             > > That'd be awesome!
>
> >             > --
> >             > Jeff Lindsayhttp://webhooks.org--Make the web more
> >            programmablehttp://shdh.org--A party for hackers and
> >            thinkershttp://tigdb.com--Discover indie
> >         gameshttp://progrium.com--
> >            More interesting things
>
> >         --
> >         Jeff Lindsay
> >        http://webhooks.org-- Make the web more programmable
> >        http://shdh.org-- A party for hackers and thinkers
> >        http://tigdb.com-- Discover indie games
> >        http://progrium.com-- More interesting things
>
> > --
> > Jeff Lindsay
> >http://webhooks.org-- Make the web more programmable
> >http://shdh.org-- A party for hackers and thinkers
> >http://tigdb.com-- Discover indie games
> >http://progrium.com-- More interesting things

Reply via email to