def push(data, spec, **kwargs):
task_output = kwargs.get('task_output', {})
target = task_output.get('target', 'memory')
url = spec['url']
method = spec.get('method', 'POST').upper()
if target == 'filepath':
with open(data, 'rb') as fd:
request = requests.request(
method, url, headers=spec.get('headers', {}), data=fd,
params=spec.get('params', {}), allow_redirects=True)
elif target == 'memory':
request = requests.request(
method, url, headers=spec.get('headers', {}), data=data,
params=spec.get('params', {}), allow_redirects=True)
else:
raise Exception('Invalid HTTP fetch target: ' + target)
try:
request.raise_for_status()
except Exception:
print 'HTTP push failed (%s). Response: %s' % (url, request.text)
raise
评论列表
文章目录