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
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)
|