You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
974 B

#!/usr/bin/python2
import cgi, traceback, urllib2
import common
from autotest_lib.frontend.afe.json_rpc import serviceHandler
script = """\
Content-Type: text/javascript
%(callback)s(%(result)s);
"""
class LogFileNotFound(Exception):
pass
form = cgi.FieldStorage(keep_blank_values=True)
encoded_request = form['request'].value
callback = form['callback'].value
request = serviceHandler.ServiceHandler.translateRequest(encoded_request)
parameters = request['params'][0]
path = parameters['path']
result_dict = serviceHandler.ServiceHandler.blank_result_dict()
try:
file_contents = urllib2.urlopen('http://localhost' + path).read()
result_dict['result'] = file_contents
except urllib2.HTTPError:
result_dict['err'] = LogFileNotFound('%s not found' % path)
result_dict['err_traceback'] = traceback.format_exc()
encoded_result = serviceHandler.ServiceHandler.translateResult(result_dict)
print script % dict(callback=callback, result=encoded_result)