Exemple #1
0
    def _MakeRequest(self, method, request, response_class):
        """Executes a request to the Google API server.

    Args:
      method: The method to invoke.
      request: The request protocol buffer from sql_pb2.
      response_class: The response protocol buffer class from sql_pb2.

    Returns:
      A protocol buffer instance of the given response_class type.
    """
        pb_model = model.ProtocolBufferModel(response_class)
        query_params = {}
        if self._developer_key:
            query_params['key'] = self._developer_key
        headers, unused_params, query, body = pb_model.request({}, {},
                                                               query_params,
                                                               request)
        request = http.HttpRequest(self._transport,
                                   pb_model.response,
                                   self._api_url + method + query,
                                   method='POST',
                                   body=body,
                                   headers=headers)
        return request.execute()
Exemple #2
0
 def builder(http_transport,
             postproc,
             uri,
             method='GET',
             body=None,
             headers=None,
             methodId=None,
             resumable=None):
   """Builds an HttpRequest, adding headers and response inspection."""
   additional_headers = headers_supplier()
   if additional_headers:
     headers = headers.copy() if headers else {}
     headers.update(additional_headers)
   request = http.HttpRequest(
       http_transport,
       postproc,
       uri,
       method=method,
       body=body,
       headers=headers,
       methodId=methodId,
       resumable=resumable)
   if response_inspector:
     request.add_response_callback(response_inspector)
   return request
 def test_non_get_error(self):
     m = model.JsonModel()
     request = http.HttpRequest(
         None,
         m.response,
         'https://www.googleapis.com/someapi/v1/collection/?foo=bar',
         method='POST',
         body='{}',
         headers={'content-type': 'application/json'})
     c = push.Channel('my_channel', {})
     self.assertRaises(push.InvalidSubscriptionRequestError,
                       push.Subscription.for_request, request, c)
 def test_request_is_post(self):
     m = model.JsonModel()
     request = http.HttpRequest(
         None,
         m.response,
         'https://www.googleapis.com/someapi/v1/collection/?foo=bar',
         method='GET',
         body='{}',
         headers={'content-type': 'application/json'})
     c = push.Channel('my_channel', {})
     push.Subscription.for_request(request, c)
     self.assertEqual('POST', request.method)
 def test_do_subscribe(self):
     m = model.JsonModel()
     request = http.HttpRequest(
         None,
         m.response,
         'https://www.googleapis.com/someapi/v1/collection/?foo=bar',
         method='GET',
         body='{}',
         headers={'content-type': 'application/json'})
     h = http.HttpMockSequence([({
         'status': 200,
         'X-Goog-Subscription-ID': 'my_subscription'
     }, '{}')])
     c = push.Channel('my_channel', {})
     s = push.Subscription.for_request(request, c)
     request.execute(http=h)
     self.assertEqual('my_subscription', s.subscription_id)
Exemple #6
0
 def request_builder(*args, **kwargs):
     request = apiclient_http.HttpRequest(*args, **kwargs)
     request.headers['X-Goog-User-Project'] = project_id
     return request
Exemple #7
0
 def build_request(old_http, *args, **kwargs):
     new_http = credentials.authorize(httplib2.Http())
     return http.HttpRequest(new_http, *args, **kwargs)