Http.post dropping trailing '}'


#1

I am making a call through http.post in Ruby 1.8.5.

uri = …
data = ‘{}’
headers = …
http.post(uri, data, headers)

Everything seems to work except that the trailing ‘}’ in data is not
getting posted, as determined by the network analyzer WireShark. My
entire posted data is just ‘{’. Is there some sort of sanitization or
choping that I am unaware of?

Thanks.


#2

Wilson Chen wrote:

choping that I am unaware of?
you could either try String#dump to automagically create escape
characters, or escape the {} yourself with a backslash.

I have no clue, though, if that is feasible in regard to the receiving
end.


Phillip “CynicalRyan” Gawlowski

Rule of Open-Source Programming #11:

When a developer says he will work on something, he or she means
“maybe”.


#3

On Wed, Mar 28, 2007 at 08:04:00AM +0900, Wilson Chen wrote:

choping that I am unaware of?
Attached is a test case which proves everything is working OK, for me
anyway:

$ ruby posttest.rb
Listening on port 38449
<< request >>
POST /foo/bar HTTP/1.1
Accept: /
Content-Type: text/plain
Content-Length: 2
Host: 127.0.0.1:38449

<< end headers >>
“{}”
Response: #<Net::HTTPServerError 500 Go away readbody=true>

This is ruby 1.8.4 (2005-12-24) [i486-linux] under Ubuntu 6.06

So I think you’re probably misinterpreting your wireshark output, in
which
case maybe you should post it. Better still, post tcpdump -s0 -X -n
output.

Regards,

Brian.