docs: def _prepare(self):
          """Builds a URL and return a PreparedRequest.
  
          Returns
              (requests.PreparedRequest)
  
          Raises
              UberIllegalState (APIError)
          """
          if self.method not in http.ALLOWED_METHODS:
              raise UberIllegalState('Unsupported HTTP Method.')
  
          api_host = self.api_host
          headers = self._build_headers(self.method, self.auth_session)
          url = build_url(api_host, self.path)
          data, params = generate_data(self.method, self.args)
  
          return generate_prepared_request(
              self.method,
              url,
              headers,
              data,
              params,
              self.handlers,
          )