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 and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page