def http_siteget(http1, http2, site): resp = {'text': '', 'assetlist': []} def site_start(status, phrase, headers): if status != '200': print 'Connection Failed: ' + site def site_body(chunk): resp['text'] += chunk def site_stop(trailers): print 'HTTP:', assetlist = json.loads(resp['text'])['list'] for asset in assetlist: http_assetget(http1, http2, asset, httpclient) print stop() t0 = time.time() httpclient = HttpClient() get = httpclient.exchange() get.on('response_start', site_start) get.on('response_body', site_body) get.on('response_done', site_stop) uri = http1 + '/site/' + str(site) get.request_start('GET', uri, []) get.request_done([]) run() return time.time() - t0
def hello(host): resp = {'text': '', 'sitelist': []} def hello_start(status, phrase, headers): if status == '200': print 'Connection Successful!\nDownloading sitelist.' def hello_body(chunk): resp['text'] += chunk def hello_stop(trailers): resp['sitelist'] = json.loads(resp['text']) stop() def hello_err(err): print 'Connection could not be completed...' stop() exit() httpclient = HttpClient() httpclient.connect_timeout = 5 hello = httpclient.exchange() hello.on('response_start', hello_start) hello.on('response_body', hello_body) hello.on('response_done', hello_stop) hello.on('error', hello_err) uri = host + '/hello' hello.request_start('GET', uri, []) hello.request_done([]) run() return resp['sitelist']
def collect(host, data): def collect_start(status, phrase, headers): if status != '200': print 'Uploading data...' def collect_body(chunk): pass def collect_stop(trailers): stop() httpclient = HttpClient() collect = httpclient.exchange() collect.on('response_start', collect_start) collect.on('response_body', collect_body) collect.on('response_done', collect_stop) collect.request_start('POST', host, []) collect.request_body(data) collect.request_done([]) run() return "Upload Complete"