Setting HTTP Headers

Hi All

I've read the Pickaxe and the Ruby Docs but for the life of me I can't
figure out an easy way of setting the headers of my HTTP
request/connection. I see a class called HTTPHeader and I see some methods
have an "initheader" parameter but I was expecting there to be a simple way
of 'adding' headers at any point in the script. Possible switching them and
replacing with other values.

Does anyone know of a way?

Many thanks for your help.

Doug

Hi All

I've read the Pickaxe and the Ruby Docs but for the life of me I can't
figure out an easy way of setting the headers of my HTTP
request/connection. I see a class called HTTPHeader and I see some methods
have an "initheader" parameter but I was expecting there to be a simple way
of 'adding' headers at any point in the script. Possible switching them and
replacing with other values.

"By adding headers at any point in the script?" Just to be sure, we talk about http?

I think its not that problem to hack somethink like you want. But if
in pure ruby, just do it yourself :slight_smile:

Many thanks for your help.

Doug

So far

···

* Doug Bromley (doug.bromley@gmail.com) wrote:
--
Michael Trommer http://ackro.com
                 http://polis.ackro.org
~
The reason ESP, for example, is not considered a viable topic in contemoprary
psychology is simply that its investigation has not proven fruitful...After
more than 70 years of study, there still does not exist one example of an ESP
phenomenon that is replicable under controlled conditions. This simple but
basic scientific criterion has not been met despite dozens of studies conducted
over many decades...It is for this reason alone that the topic is now of little
interest to psychology...In short, there is no demonstrated phenomenon that
needs explanation.
-- Keith E. Stanovich, "How to Think Straight About Psychology", pp. 160-161

Hi All

I've read the Pickaxe and the Ruby Docs but for the life of me I can't
figure out an easy way of setting the headers of my HTTP
request/connection. I see a class called HTTPHeader and I see some methods
have an "initheader" parameter but I was expecting there to be a simple way
of 'adding' headers at any point in the script. Possible switching them
and replacing with other values.

There's an example for setting headers using open-uri in the ruby docs:
http://ruby.outertrack.com/file/ruby-1.8.4%2Flib%2Fopen-uri.rb

  open("http://www.ruby-lang.org/en/",
    "User-Agent" => "Ruby/#{RUBY_VERSION}",
    "From" => "foo@bar.invalid",
    "Referer" => "http://www.ruby-lang.org/"\) {|f|
    ...
  }

If you're using Net:HTTP directly, initheader is a hash of header values. It's
really not documented too well there. Unless you feel you need to use
Net:HTTP, I recommend you use open-uri instead, it does a lot more work for
you. I'm not sure what you mean by the last part of your question, but you
can certainly store your hash in a variable and modify it during your
script's execution as necessary.

Many thanks for your help.

I hope I've gone some way to answering your question.

Doug

Alex

···

On Wednesday 07 June 2006 19:27, Doug Bromley wrote:

... It's really not documented too well there.

Can open-uri do POSTs? I am pretty sure the answer is no but I would like a definitive answer from someone who is very familiar with open-uri.

http://www.ruby-doc.org/stdlib/libdoc/open-uri/rdoc/
Documentation may be lacking in some areas, but you can rely on RDoc to at
least generate a list of all public methods. I'm afraid OpenURI is
read-only "for the moment"
http://www.ruby-doc.org/stdlib/libdoc/open-uri/rdoc/classes/OpenURI/OpenRead.html#M000783

Wanting to do POST requests might be a good reason to use Net:HTTP open
open-uri :slight_smile:

Alex

···

On Wednesday 07 June 2006 20:37, Dan Diebolt wrote:

> ... It's really not documented too well there.

Can open-uri do POSTs? I am pretty sure the answer is no but I would like a
definitive answer from someone who is very familiar with open-uri.