# Http request inside controller?

**URL:** <https://www.ruby-forum.com/t/http-request-inside-controller/149442>\
**Category:** Rails\
**Created:** [September 24, 2008, 10:43pm UTC](https://www.ruby-forum.com/t/http-request-inside-controller/149442 "2008-09-24T22:43:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kodak](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/5f9b8f/32.png) [@Kodak](https://www.ruby-forum.com/u/Kodak)\
**Post date:** [September 24, 2008, 10:43pm UTC](https://www.ruby-forum.com/t/http-request-inside-controller/149442/1 "2008-09-24T22:43:48Z")

</div>

hi all,  
i got problem with net/http inside controller. I need to respond to  
action using some remote (not REST compatible) http server (actually  
returning pdf file) so inside action i use:

```
  response = Net::HTTP.new('1.2.3.4').request_get('/url')
  send_data http_response.body, :filename => "test.pdf", :type =>

```

“application/pdf”

…with no luck ☹ I got:

Timeout::Error in InvoicesController#pdf

execution expired

RAILS\_ROOT: C:/work/z  
Application Trace | Framework Trace | Full Trace

c:/ruby/lib/ruby/1.8/timeout.rb:54:in `rbuf_fill' c:/ruby/lib/ruby/1.8/timeout.rb:56:in`timeout’  
c:/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout' c:/ruby/lib/ruby/1.8/net/protocol.rb:132:in`rbuf\_fill’  
c:/ruby/lib/ruby/1.8/net/protocol.rb:116:in `readuntil' c:/ruby/lib/ruby/1.8/net/protocol.rb:126:in`readline’  
c:/ruby/lib/ruby/1.8/net/http.rb:2029:in `read_status_line' c:/ruby/lib/ruby/1.8/net/http.rb:2018:in`read\_new’  
c:/ruby/lib/ruby/1.8/net/http.rb:1059:in `request' c:/ruby/lib/ruby/1.8/net/http.rb:1046:in`request’  
c:/ruby/lib/ruby/1.8/net/http.rb:547:in `start' c:/ruby/lib/ruby/1.8/net/http.rb:1044:in`request’  
c:/ruby/lib/ruby/1.8/net/http.rb:957:in `request_get' app/controllers/invoices_controller.rb:48:in`pdf’

on ethereal i trully see that there is no response to GET but what is  
interesting the same net/http code inside rake task is successfuly  
downloading and saving the file locally.

What could be the problem with net/http requests inside controllers? i  
may only guess that in may not be thread safe or what as controllers  
use net/http mechanism for own pursposes. how to solve this issue -  
any ideas?

big thanks in advance

br

K

---

<div class="post-metadata">

**Author:** ![Kodak](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/5f9b8f/32.png) [@Kodak](https://www.ruby-forum.com/u/Kodak)\
**Post date:** [September 26, 2008, 1:01am UTC](https://www.ruby-forum.com/t/http-request-inside-controller/149442/2 "2008-09-26T01:01:06Z")

</div>

Hi,

Can you access any other sites using http from within your  
controllers?  
I see you are using Windows - does firewall allow your mongrels/  
webrick to access Internet?

If it’s timeout issue, you can easily increase timeout with net/http  
library like:

Net::HTTP.start(‘[www.whatever.org.uk](http://www.whatever.org.uk)’) { |http|  
http.open\_timeout = http.read\_timeout = 60 # You increase  
timeout for connections  
req = Net::HTTP::Get.new(“/index.html”)  
resp = http.request(req)  
}

page\_content = resp.body

Best,  
H.

---

<div class="post-metadata">

**Author:** ![Kodak](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/5f9b8f/32.png) [@Kodak](https://www.ruby-forum.com/u/Kodak)\
**Post date:** [September 28, 2008, 8:59pm UTC](https://www.ruby-forum.com/t/http-request-inside-controller/149442/3 "2008-09-28T20:59:32Z")

</div>

On 26 Wrz, 01:00, Hubert £êpicki [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi,
> 
> Can you access any other sites using http from within your  
> controllers?

yes, I can so it is not rails problem, thank you - i will examine  
remote server why it is not responding to every request
