diff options
Diffstat (limited to 'src/retrace/backtrace.wsgi')
-rw-r--r-- | src/retrace/backtrace.wsgi | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/retrace/backtrace.wsgi b/src/retrace/backtrace.wsgi index 2074d157..92c4d040 100644 --- a/src/retrace/backtrace.wsgi +++ b/src/retrace/backtrace.wsgi @@ -7,12 +7,14 @@ def application(environ, start_response): match = URL_PARSER.match(request.script_name) if not match: - return response(start_response, "404 Not Found") + return response(start_response, "404 Not Found", + "Invalid URL") taskdir = "%s/%s" % (CONFIG["SaveDir"], match.group(1)) if not os.path.isdir(taskdir): - return response(start_response, "404 Not Found") + return response(start_response, "404 Not Found", + "There is no such task") pwdpath = "%s/password" % taskdir try: @@ -20,20 +22,25 @@ def application(environ, start_response): pwd = pwdfile.read() pwdfile.close() except: - return response(start_response, "500 Internal Server Error", "Unable to verify password") + return response(start_response, "500 Internal Server Error", + "Unable to verify password") - if not "X-Task-Password" in request.headers or request.headers["X-Task-Password"] != pwd: - return response(start_response, "403 Forbidden") + if not "X-Task-Password" in request.headers or \ + request.headers["X-Task-Password"] != pwd: + return response(start_response, "403 Forbidden", + "Invalid password") btpath = "%s/retrace_backtrace" % taskdir if not os.path.isfile(btpath): - return response(start_response, "404 Not Found") + return response(start_response, "404 Not Found", + "There is no backtrace for the specified task") try: btfile = open(btpath, "r") output = btfile.read() btfile.close() except: - return response(start_response, "500 Internal Server Error", "Unable to read backtrace file at server") + return response(start_response, "500 Internal Server Error", + "Unable to read backtrace file") return response(start_response, "200 OK", output) |