code: def request(self, path, method='GET', params=None, type=REST_TYPE):
          
          response_text = self._get_http_client(type).request(path, method, params)
  
          if not response_text:
              return response_text
  
          response_json = json.loads(response_text)
  
          if 'errors' in response_json:
              raise (ErrorException([Error().load(e) for e in response_json['errors']]))
  
          return response_json
docs: Builds a request, gets a response and decodes it.