Fixing handling of http reponse errors

This commit fix the error of rising a wrong HTTPParseException when
trying to parse the body for non 200 response status code

Now we first doublecheck the status codes for the response, then we
check if content-type header is json and rise the parse execption if not

We also ensure that if status code is not 200 we don't pollute the
attributes for the current object.