Need help with Net::HTTP Post

S

Sudhi Kulkarni

Hi,

I am trying do a Net::HTTP post, the post returns with a 201 Created but
still the thread executing the script is stuck until Read Timeout
occurs. Need help to understand how to comeout of the Post when a
response is obtained. The code snippet I am using is as below

fd= File.open("test.xml","rb")
h = Net::HTTP.new("<ip-address>", 8080)
h.post('/test/test1',fd.read)

Thanks for the help in advance

Regards,
Sudhi
 
B

Brian Candler

Sudhi said:
Hi,

I am trying do a Net::HTTP post, the post returns with a 201 Created but
still the thread executing the script is stuck until Read Timeout
occurs. Need help to understand how to comeout of the Post when a
response is obtained. The code snippet I am using is as below

fd= File.open("test.xml","rb")
h = Net::HTTP.new("<ip-address>", 8080)
h.post('/test/test1',fd.read)

How do you know the post returns with a 201, if it isn't getting past
the h.post line?

Best way to find out what's going on is with tcpdump or wireshark.

It's possible that there's some HTTP/1.1 nastiness going on, e.g. one
side thinks the connection should remain open whilst the other thinks it
should be closed, possibly combined with a missing Content-Length:
header from one side or the other.
 
S

Sudhi Kulkarni

Brian said:
How do you know the post returns with a 201, if it isn't getting past
the h.post line?

Best way to find out what's going on is with tcpdump or wireshark.

It's possible that there's some HTTP/1.1 nastiness going on, e.g. one
side thinks the connection should remain open whilst the other thinks it
should be closed, possibly combined with a missing Content-Length:
header from one side or the other.

Hi,
That is exactly what I had done, Wireshark shows that the response is
obtained as 201 created but then the script still continues to wait...

Thanks,
Sudhi
 
B

Brian Candler

Sudhi said:
That is exactly what I had done, Wireshark shows that the response is
obtained as 201 created but then the script still continues to wait...

OK, so post the full, exact headers of both the request and the
response.

If the response contains a Content-Length: header, check that the
response body has exactly that many bytes (counting after the \r\n\r\n
which terminates the headers)
 

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

Forum statistics

Threads
473,996
Messages
2,570,237
Members
46,825
Latest member
VernonQuy6

Latest Threads

Top