Net::HTTP header issue

E

Edward Liu

I am trying to use custom headers, and I am having an issue with how
Net::HTTP handles this. Let's say I want to add the header "a-header"
to the HTTP message I am sending to a server. When I turn on a TCP
monitor to check on the message, I notice that Net::HTTP changes
"a-header" to "A-Header". I would like to prevent Net::HTTP from
changing the casing of my header, but I would also like to avoid
modifying the Net::HTTP library to do this. Is there a solution to
prevent Net::HTTP from changing the casing of "a-header" without
modifying the Net::HTTP library (like a function in that library to call
to stop the casing change)? If not, what is the cleanest solution to
modify Net::HTTP for this issue? Thanks!
 
K

Keith Fahlgren

I am trying to use custom headers, and I am having an issue with how
Net::HTTP handles this. Let's say I want to add the header "a-header"
to the HTTP message I am sending to a server. When I turn on a TCP
monitor to check on the message, I notice that Net::HTTP changes
"a-header" to "A-Header". I would like to prevent Net::HTTP from
changing the casing of my header


""""4.2 Message Headers

HTTP header fields, which include general-header (section 4.5),
request-header (section 5.3), response-header (section 6.2), and
entity-header (section 7.1) fields, follow the same generic format as
that given in Section 3.1 of RFC 822 [9]. Each header field consists
of a name followed by a colon (":") and the field value. Field names
___________are case-insensitive_________."""

http://www.ietf.org/rfc/rfc2616.txt


HTH,
Keith
 
E

Edward Liu

This doesn't help me at all. I already know that field names are
case-insensitive. However, when my web server receives an HTTP message,
it will see my custom header of "a-header" as "A-Header" because of
Net::HTTP. I don't really want Net::HTTP to modify my header contents
(I might want to be able to send "A-HEADER" and not have Net::HTTP
change it to "A-Header"), so that's why I posted. Your response isn't
really what I am looking for. Does anyone have an answer for my initial
post? Thanks!

Keith said:
I am trying to use custom headers, and I am having an issue with how
Net::HTTP handles this. Let's say I want to add the header "a-header"
to the HTTP message I am sending to a server. When I turn on a TCP
monitor to check on the message, I notice that Net::HTTP changes
"a-header" to "A-Header". I would like to prevent Net::HTTP from
changing the casing of my header


""""4.2 Message Headers

HTTP header fields, which include general-header (section 4.5),
request-header (section 5.3), response-header (section 6.2), and
entity-header (section 7.1) fields, follow the same generic format as
that given in Section 3.1 of RFC 822 [9]. Each header field consists
of a name followed by a colon (":") and the field value. Field names
___________are case-insensitive_________."""

http://www.ietf.org/rfc/rfc2616.txt


HTH,
Keith
 
A

ara.t.howard

I am trying to use custom headers, and I am having an issue with how
Net::HTTP handles this. Let's say I want to add the header "a-header"
to the HTTP message I am sending to a server. When I turn on a TCP
monitor to check on the message, I notice that Net::HTTP changes
"a-header" to "A-Header". I would like to prevent Net::HTTP from
changing the casing of my header, but I would also like to avoid
modifying the Net::HTTP library to do this. Is there a solution to
prevent Net::HTTP from changing the casing of "a-header" without
modifying the Net::HTTP library (like a function in that library to
call
to stop the casing change)? If not, what is the cleanest solution to
modify Net::HTTP for this issue? Thanks!

you can try something like


class CaseSensitiveHeader < ::String
def capitalize() self end
end

add_header CaseSensitiveHeader.new('a-header'), value

or

module Net
module HTTPHeader
def capitalize(name) name end
end
end


just took a quick look at the net/http.rb, but one of them will work.

a @ http://codeforpeople.com/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top