Hi All,
I'm using the latest 2.7.5 b3 code and I wanted to see if requests works. I
pulled the latest from github. It would hang on simple requests.get or
requests.post. It would hang on the reading the http response. I attached the
debugger and traced it to PythonBinaryReader:Read method. in the PythonFile.cs
It hangs when size = 0. It hangs specifically in this loop
int leftCount = size; while (true) { int count =
_stream.Read(data, offset, leftCount); if (count <= 0) break;
leftCount -= count; if (leftCount <= 0) break;
offset += count; }
It hangs on the _stream.read where offset is 0 and leftCount is zero and the
stream is a NetworkStream.
I looked at the PythonTextCRLFReader, PythonTextCRReader, PythonTextLFReader,
and PythonUniversalReader in the same PythonFile.cs. It looks like they all
have a way to handle when size is equal 0 or less.
I ran a quick experiment and just added one line, didn't want to change too
much. I changed.
int leftCount = size;while (true) {
if (leftCount <= 0) break; int count =
_stream.Read(data, offset, leftCount); if (count <= 0) break;
leftCount -= count; if (leftCount <= 0) break;
offset += count; }
After this I was able to get all HTTP GETs and POSTs working. I did this with
rest type calls and normal web transactions.
I was just wanted to check if any ran into this issue before? I'm not sure if
this was just a me thing.
Danny
_______________________________________________
Ironpython-users mailing list
[email protected]
https://mail.python.org/mailman/listinfo/ironpython-users