code: def __ProcessHttpResponse(self, method_config, http_response, request):
          
          if http_response.status_code not in (http_client.OK,
                                               http_client.CREATED,
                                               http_client.NO_CONTENT):
              raise exceptions.HttpError.FromResponse(
                  http_response, method_config=method_config, request=request)
          if http_response.status_code == http_client.NO_CONTENT:
              # TODO(craigcitro): Find out why _replace doesn't seem to work
              # here.
              http_response = http_wrapper.Response(
                  info=http_response.info, content='{}',
                  request_url=http_response.request_url)
  
          content = http_response.content
          if self._client.response_encoding and isinstance(content, bytes):
              content = content.decode(self._client.response_encoding)
  
          if self.__client.response_type_model == 'json':
              return content
          response_type = _LoadClass(method_config.response_type_name,
                                     self.__client.MESSAGES_MODULE)
          return self.__client.DeserializeMessage(response_type, content)
docs: Process the given http response.