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 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
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| 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. On 24 Wrz, 22:42, Kodak <Krzysztof.Cho...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> 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--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 26 Wrz, 01:00, Hubert Łępicki <hubert.lepi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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> 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| > 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. > > On 24 Wrz, 22:42, Kodak <Krzysztof.Cho...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > 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--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---