That is definitely the intention. This should be fixed in the rack lighty adapter.
Thanks, yes that sounds related.
On Fri, Aug 28, 2009 at 11:22 PM, Magnus Holm <judofyr@gmail.com> wrote:
>
> There is another know issue with Lighttpd: http://github.com/rack/rack/blob/master/KNOWN-ISSUES
>
> Maybe they're related?
>
> //Magnus Holm
I was hoping that Rack will give me a standard set of environments no
matter in which technologie the applicaion is deployed at the end.
But I guess that should be fixed in Lighttpd's cgi implementation instead...
Martin
>
>
> On Fri, Aug 28, 2009 at 16:37, bones <boesemar@googlemail.com> wrote:
>>
>>
>> I am porting my application from ruby fcgi to rack which is in
>> production using the Lighttpd webserver.
>>
>> I noticed that lighttpd doesn't send PATH_INFO or QUERY_STRING so I
>> used to patch it by reconstructing it from REQUEST_URI. Now with Rack
>> I have exactly the same situation. Rack::Request.GET is empty. This
>> fix on the environment makes it working:
>>
>> class RackApp
>>
>> def fix_env(ec)
>> if (ec['PATH_INFO'].to_s.empty?) then
>> pi = ec['REQUEST_URI']
>> pi = pi[0..(pi.index('?')-1)] if pi.include?('?')
>> ec['PATH_INFO'] = pi
>> end
>>
>> if (ec['QUERY_STRING'].to_s.empty?) then
>> ec['QUERY_STRING'] = ec['REQUEST_URI'].include?('?') ?
>> ec['REQUEST_URI'].scan(/.?\?(.*)/)[0][0] :
>> ""
>> end
>> ec
>> end
>>
>> def call(env)
>> Rack::Request.new(fix_env(env))
>> # [...]
>> end
>> end
>>
>>
>> As far as I know Lighttpd and Rails (which used Rack?!) is a popular
>> combination - so I am quiet surprised that I don't find anything
>> related on the web. Especially - shouldn't that be implemented into
>> Rack's CGI/FastCGI Handler?
>>
>> Cheers,
>> Martin
>
>