Brian Candler
3/28/2007 7:34:00 PM
On Wed, Mar 28, 2007 at 08:04:00AM +0900, Wilson Chen wrote:
> 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?
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.