[OT] More on false timeouts and headers

J. Landman Gay jacque at hyperactivesw.com
Wed May 20 23:17:13 EDT 2015


On 5/20/2015 6:47 PM, Dave Cragg wrote:
>
> It should just return the content without the chunk marker thingies.
>
> I’m using an older version. But if you run this script in a card with two fields, you should see it is using "chunked" encoding. The returned data in field 2 has no chunk markers. Is that what you see with your version?
>
> on mouseUp
>     libURLSetLogField "field 1"
>     put "http://www.lacscentre.com/chunkcheck/chunkcheck.php" into tUrl
>     put url tUrl into field 2
> end mouseUp
>
> I don’t know of any way to force the remote server to not use chunked encoding.
>
> Can you see the pattern of the chunk markers in the data you are getting back? The markers should be on a separate line starting with a hexadecimal value indicating the chunk length, followed possibly by some semicolon delimited parameters, and then a CRLF line ending.

Thanks for this, Dave. I don't see any chunk markers in the file with 
the version of libURL I'm using, I see rows of plain text. But even 
though the Content-Encoding header indicates it's a gzip file, it isn't 
coming in as one. The data I'm getting from my client's server is a 
compressed gz file and uses a "Content-Transfer-Encoding: binary" 
header. It looks like the server sends plain text in your test file.

Last week I wrote a little utility to look at the first few bytes of the 
files as they arrive. Here are the first 10 bytes (in decimal) of a file 
that fails:

   49 57 13 10 31 139 8 0 225 192

And here are the first 10 bytes of a file that gunzips okay and is working:

   31 139 8 0 48 225 75 85 0 3	

This is the raw data that is returned to my script after a "get url" 
command. It does appear that the first four bytes of the "bad" file 
include the chunk markers. The "31 139" sequence are the markers for a 
gz file and that sequence is what my script is looking for. In the "bad" 
file it doesn't show up until position 5.

Have you tried a gz file sent with "content-transfer-encoding: binary"? 
We did try sending the gzip as plain text instead of binary and it 
worked okay, but with the changes LC is making, libURL will try to treat 
text as unicode in LC 7. So we figured setting the transfer-encoding to 
text was risky (even though it worked in LC 6.)

-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com





More information about the use-livecode mailing list