From 7f93660f9594c0d2ee71dfa5f96b5994007413c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Sellar=C3=A8s?= Date: Mon, 25 Feb 2013 21:27:03 +0100 Subject: [PATCH] Changed to work with rails 3 --- public/dispatch.fcgi | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/public/dispatch.fcgi b/public/dispatch.fcgi index 42b02205..cd3edf47 100755 --- a/public/dispatch.fcgi +++ b/public/dispatch.fcgi @@ -1,24 +1,24 @@ #!/usr/bin/env ruby # -# You may specify the path to the FastCGI crash log (a log of unhandled -# exceptions which forced the FastCGI instance to exit, great for debugging) -# and the number of requests to process before running garbage collection. -# -# By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log -# and the GC period is nil (turned off). A reasonable number of requests -# could range from 10-100 depending on the memory footprint of your app. -# -# Example: -# # Default log path, normal GC behavior. -# RailsFCGIHandler.process! -# -# # Default log path, 50 requests between GC. -# RailsFCGIHandler.process! nil, 50 -# -# # Custom log path, normal GC behavior. -# RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log' +# It requires rails 3 # require File.dirname(__FILE__) + "/../config/environment" -require 'fcgi_handler' +require 'rack' +require 'fcgi' + +class Rack::PathInfoRewriter + def initialize(app) + @app = app + end + + def call(env) + env.delete('SCRIPT_NAME') + parts = env['REQUEST_URI'].split('?') + env['PATH_INFO'] = parts[0] + env['QUERY_STRING'] = parts[1].to_s + @app.call(env) + end +end + +Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(Tracksapp::Application) -RailsFCGIHandler.process! \ No newline at end of file