[TIMOB-17612] Titanium Android: HTTPClient doesn't decompress gzipped data for error responses
| GitHub Issue | n/a | 
|---|---|
| Type | Bug | 
| Priority | Critical | 
| Status | Closed | 
| Resolution | Fixed | 
| Resolution Date | 2015-01-07T19:26:40.000+0000 | 
| Affected Version/s | n/a | 
| Fix Version/s | Release 4.0.0 | 
| Components | Android | 
| Labels | decompression, httpclient, module_network, parity, qe-manualtest, qe-testadded | 
| Reporter | Stephen Woodford | 
| Assignee | Ashraf Abu | 
| Created | 2014-09-03T18:43:36.000+0000 | 
| Updated | 2015-01-07T19:26:40.000+0000 | 
Description
	Gzipped data isn't decompressed if the response status code is >=400 (https://github.com/appcelerator/titanium_mobile/blob/master/android/modules/network/src/java/ti/modules/titanium/network/TiHTTPClient.java#L273-L275)
Whereas for response status codes <400, the response is properly decompressed.
(https://github.com/appcelerator/titanium_mobile/blob/master/android/modules/network/src/java/ti/modules/titanium/network/TiHTTPClient.java#L285)
Forgot to mention, iOS properly decompresses data in error responses, so this is a parity issue as well.
Took *FOREVER* to track this down. To hopefully help others with some google bait... The dump I get when I hit this bug:
Also, the raw response:I have the same issue. The bug seems to be introduced in 3.3.0 with the new HTTPClient.
I was able to reproduce the bug in 3.2.1 and 3.1.2.
[~iotashan] Can you please attach raw code and probably log as file ? That black diamonds with questions marks kills email notifications in JIRA too ) . So I had to remove them.
PR: https://github.com/appcelerator/titanium_mobile/pull/6530 Test App:
Verified the fix. The gzip data gets decompressed as expected. Closing. Environment: Appc Studio : 3.4.1.201410281743 Ti SDK : 3.6.0.v20150106160923 CLI : 3.4.1 Alloy : 1.5.1 GA Code Processor : 1.1.1 MAC Yosemite : 10.10