* Handle empty HttpResponseBodyPart in onBodyPartReceived. With an empty response body, 1.8.0 calls onBodyPartReceived with a zero- length HttpResponseBodyPart, while version 1.7.x did not even call onBodyPartReceived. * Fight through broken Request.getRawUrl(). With suspicious query params, 1.7.10's getRawUrl works, while 1.7.16 blows up. So we degrade getRawUrl to getUrl for now.