bowler-framework / Bowler

RESTful Web Framework based on Scala, built on top of Scalatra & Scalate
http://bowlerframework.org
BSD 3-Clause "New" or "Revised" License
119 stars 13 forks source link

Possible extraction bug? #16

Closed NoelKennedy closed 12 years ago

NoelKennedy commented 12 years ago

Hi Wille,

I think I have found a bug with extraction of optional parameters. If you have two optional parameters and only one is provided in the querystring, the send parameter will be set to the first's value instead of None.

I think I have managed to create a failing test for this which is in the pull request. This fails in my project but at the moment I am unable to get bowler building for some reason!

Let me know if I can do anything else to clarify what I mean!

Cheers,

Noel

wfaler commented 12 years ago

Thanks! I'll try to take a look at this in the next couple of days, test is always extremely useful!

wfaler commented 12 years ago

This is fixed in master now, will push a new 0.5-SNAPSHOT for Scala 2.9.1 in a minute. This seemed to fix it: https://github.com/wfaler/Bowler/commit/134b121f10ce95c13df985a1415aae6a51621377#diff-781

Seems that the "namehint" for the parameter got erased if it didn't have a match, rather than just see it as a name-lookup for a parameter that is not there. This has now been addressed.

Apologies for the delay in fixing this. If there are any side effects to the fix, do let me know - I can definitely see that this is a defect fixed, but I'm not sure if anything else may rely on the faulty behavior (tests say "no", but it's a pretty complex piece of functionality).