def send(self): """ Sends this PushRequest to the server and return the PushResponse """ def respone_handler(promise): promise.response.text = str(promise.content) self._push_response = self.response_builder(promise.response) assert isinstance(self._push_response, PushResponse) # Executing on_response Callback if self.on_response: self.on_response(self._push_response) return promise.response self._response_promise, _ = Http().request(uri=self.url, method="POST", body=self.body, headers=self.headers, callback=respone_handler) return self
def __init__(self, base_url=None, http=None): self.base_url = base_url if base_url is not None else \ 'http://proximobus.appspot.com' self.http = http if http is not None else Http()
#!/usr/bin/env python # # from __future__ import absolute_import from asynchttp import Http from pprint import pprint from json import loads import logging fmt = '%(asctime)s %(thread)d %(name)s %(levelname)-8s %(message)s' #logging.basicConfig(level=logging.DEBUG, format=fmt) http = Http() def callback(promise): promise.response.data = loads(promise.content) response, content = http.request('http://proximobus.appspot.com/agencies.json', callback=callback) # do something else here while the request is being downloaded and decoded... pprint(response.data) # handling exceptions in callbacks class SomeException(Exception): pass