# Rc4 upgrade issue

**URL:** <https://www.ruby-forum.com/t/rc4-upgrade-issue/47517>\
**Category:** Rails\
**Created:** [November 12, 2005, 12:49pm UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517 "2005-11-12T12:49:16Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 12, 2005, 12:49pm UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/1 "2005-11-12T12:49:16Z")

</div>

i’ve had the following in my environments/production.rb:

module ActionController  
module Rescue  
def local\_request?  
false  
end  
end  
end

As of RC4, it causes fcgi to die on startup.

can someone tell me quickly what changed to cause this  
and perhaps save me some time digging through the source…

---

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 12, 2005, 12:49pm UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/2 "2005-11-12T12:49:16Z")

</div>

2005/11/7, Sean T Allen [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> As of RC4, it causes fcgi to die on startup.
> 
> can someone tell me quickly what changed to cause this  
> and perhaps save me some time digging through the source…

I don’t use FCGI myself on my dev machine, but that is wrong. You  
should instead do this:

app/controllers/application.rb  
class ApplicationController \< ActionController::Base  
protected  
def local\_request?  
false  
end  
end

Hope that helps !  
FranÃ§ois

---

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 12, 2005, 12:49pm UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/3 "2005-11-12T12:49:17Z")

</div>

Francois B. wrote:

> > end  
> > should instead do this:  
> > FranÃ§ois

i only want it when running in production.

the code in question that always used to work actually came from DHH  
quite sometime ago…

its obviusly wrong as of the 1.0 RC candidates but wasnt previously.

what you have doesnt however accomplish what i need, i.e.  
only occurs when running in production.

---

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 12, 2005, 12:49pm UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/4 "2005-11-12T12:49:18Z")

</div>

2005/11/8, Sean T Allen [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Francois B. wrote:
> 
> > app/controllers/application.rb  
> > class ApplicationController \< ActionController::Base  
> > protected  
> > def local\_request?  
> > false  
> > end  
> > end
> 
> i only want it when running in production.

Actually, if I remember correctly, that is exactly what’s happening in  
production - local\_request? always returns false, no ?

Actually, I’m not quire right (Rails 0.14.3):  
def local\_request? #:doc:  
@request.remote\_addr == “127.0.0.1”  
end

As long as the request isnt come from 127.0.0.1, you should be fine in  
production, no ?

Hope that helps,  
FranÃ§ois

---

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 12, 2005, 12:49pm UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/5 "2005-11-12T12:49:19Z")

</div>

Ah, I better understand now. So, change my original code to this:

app/controllers/application.rb  
class ApplicationController \< ActionController::Base  
protected  
if ‘production’ == RAILS\_ENV then  
def local\_request?  
false  
end  
end  
end

Class declarations are executable code, so it is possible to build  
some stuff conditionnally.

Hope that helps !  
FranÃ§ois

2005/11/8, Sean T Allen [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 12, 2005, 12:49pm UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/6 "2005-11-12T12:49:18Z")

</div>

Francois B. wrote:

> > > false  
> > > production - local\_request? always returns false, no ?  
> > > FranÃ§ois

It does come from 127.0.0.1

that is our setup… no requests that dont pass through a frontend  
server that runs  
mod\_security etc etc etc

---

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 12, 2005, 12:49pm UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/7 "2005-11-12T12:49:46Z")

</div>

this isnt working.

i still seems to function as tho local request where true

throwing in a random url i get:

Routing Error

Recognition failed for “/ed”

instead of the 404.html

---

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 15, 2005, 4:00am UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/8 "2005-11-15T04:00:13Z")

</div>

I think the problem is because of this which I found in  
/actionpack-1.11.0/lib/action\_controller/base.rb.

```
# All requests are considered local by default, so everyone will

```

be exposed to detailed debugging screens on errors.  
# When the application is ready to go public, this should be set  
to false, and the protected method local\_request?  
# should instead be implemented in the controller to determine  
when debugging screens should be shown.  
@@consider\_all\_requests\_local = true  
cattr\_accessor :consider\_all\_requests\_local

This variable is set to false when you are in production mode so I am  
guessing you are seeing this because your production.rb was not  
updated to to do this.

./config/environments/production.rb:config.action\_controller.consider\_all\_requests\_local  
= false

-Frank

On 11/10/05, Sean T Allen [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > class ApplicationController \< ActionController::Base
> > 
> > > mod\_security etc etc etc
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

–  
Frank K.  
[http://meetingkoreans.com](http://meetingkoreans.com)

> **[betweengo.com](http://ww38.betweengo.com/)**
>
> This domain may be for sale!

---

<div class="post-metadata">

**Author:** ![sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f0a364/32.png) [@sean](https://www.ruby-forum.com/u/sean)\
**Post date:** [November 15, 2005, 6:33am UTC](https://www.ruby-forum.com/t/rc4-upgrade-issue/47517/9 "2005-11-15T06:33:34Z")

</div>

I have the problem because i am running lighttpd on 127.0.0.1  
which the code from my original post took care of when in production…

but it doesnt work anymore…

it causes fcgi to crash

and Francois’ code doesnt work.
