include context and body when passing errors

This change provides more information when `request.get` returns an error or for a response with status other than 200.