Skip to main content

Sugar for Tornado Asynchrous HTTP client

Project description

Gale
=========
Gale is just Tornado

Installation
---------
$ pip install gale

Asynchrous HTTP Request
----------

###Get
import gale
def handle(response):
print response.body
gale.stop()

gale.get('http://httpbin.org/ip', callback=handle)
gale.start()
###Post
gale.post('http://httpbin.org/post', data={'a':1}, callback=handle)
gale.start()
###Proxy and Cookies
gale.get('http://httpbin.org/get',
params={'a':1, 'b':2},
proxy='user:pass@8.8.8.8:80',
cookies={'token': 'asdfgh'}, callback=handle)
gale.start()
###Sleep
def do_after_3_seconds():
print 'hello'
gale.stop()
gale.sleep(3, callback=do_after_3_second)
gale.start()

Task
----------
def all_done():
print 'all requests complete!'
gale.stop()

task = gale.Task()
task.add(gale.get, 'http://httpbin.org/ip', callback=handle)
task.add(gale.get, 'http://httpbin.org/get', callback=handle)
task.add(gale.post, 'http://httpbin.org/post', data={'a': 1},
callback=handle)
#or you can patch the gale.get function
#get = task.patch(gale.get)
#get('http://httpbin.org/ip', callback=handle)
#get('http://httpbin.org/get', callback=handle)
#get('http://httpbin.org/post', data={'a': 1},
# callback=handle)

task.run(all_done)
gale.start()

Project details


Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page