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

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page