mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-04-27 22:39:41 +00:00
Return ErrorPage when an exception is raised in web.status
This commit is contained in:
parent
58c99d0c0c
commit
20101f8146
0
newsfragments/3426.minor
Normal file
0
newsfragments/3426.minor
Normal file
@ -18,8 +18,10 @@ from allmydata.web.common import (
|
|||||||
abbreviate_time,
|
abbreviate_time,
|
||||||
abbreviate_rate,
|
abbreviate_rate,
|
||||||
abbreviate_size,
|
abbreviate_size,
|
||||||
|
exception_to_child,
|
||||||
plural,
|
plural,
|
||||||
compute_rate,
|
compute_rate,
|
||||||
|
render_exception,
|
||||||
render_time,
|
render_time,
|
||||||
MultiFormatResource,
|
MultiFormatResource,
|
||||||
SlotsSequenceElement,
|
SlotsSequenceElement,
|
||||||
@ -192,6 +194,7 @@ class UploadStatusPage(Resource, object):
|
|||||||
super(UploadStatusPage, self).__init__()
|
super(UploadStatusPage, self).__init__()
|
||||||
self._upload_status = upload_status
|
self._upload_status = upload_status
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_GET(self, req):
|
def render_GET(self, req):
|
||||||
elem = UploadStatusElement(self._upload_status)
|
elem = UploadStatusElement(self._upload_status)
|
||||||
return renderElement(req, elem)
|
return renderElement(req, elem)
|
||||||
@ -367,6 +370,7 @@ class _EventJson(Resource, object):
|
|||||||
def __init__(self, download_status):
|
def __init__(self, download_status):
|
||||||
self._download_status = download_status
|
self._download_status = download_status
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render(self, request):
|
def render(self, request):
|
||||||
request.setHeader("content-type", "text/plain")
|
request.setHeader("content-type", "text/plain")
|
||||||
data = { } # this will be returned to the GET
|
data = { } # this will be returned to the GET
|
||||||
@ -424,6 +428,7 @@ class DownloadStatusPage(Resource, object):
|
|||||||
self._download_status = download_status
|
self._download_status = download_status
|
||||||
self.putChild("event_json", _EventJson(self._download_status))
|
self.putChild("event_json", _EventJson(self._download_status))
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_GET(self, req):
|
def render_GET(self, req):
|
||||||
elem = DownloadStatusElement(self._download_status)
|
elem = DownloadStatusElement(self._download_status)
|
||||||
return renderElement(req, elem)
|
return renderElement(req, elem)
|
||||||
@ -806,6 +811,7 @@ class RetrieveStatusPage(MultiFormatResource):
|
|||||||
super(RetrieveStatusPage, self).__init__()
|
super(RetrieveStatusPage, self).__init__()
|
||||||
self._retrieve_status = retrieve_status
|
self._retrieve_status = retrieve_status
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_HTML(self, req):
|
def render_HTML(self, req):
|
||||||
elem = RetrieveStatusElement(self._retrieve_status)
|
elem = RetrieveStatusElement(self._retrieve_status)
|
||||||
return renderElement(req, elem)
|
return renderElement(req, elem)
|
||||||
@ -929,6 +935,7 @@ class PublishStatusPage(MultiFormatResource):
|
|||||||
super(PublishStatusPage, self).__init__()
|
super(PublishStatusPage, self).__init__()
|
||||||
self._publish_status = publish_status
|
self._publish_status = publish_status
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_HTML(self, req):
|
def render_HTML(self, req):
|
||||||
elem = PublishStatusElement(self._publish_status);
|
elem = PublishStatusElement(self._publish_status);
|
||||||
return renderElement(req, elem)
|
return renderElement(req, elem)
|
||||||
@ -1087,6 +1094,7 @@ class MapupdateStatusPage(MultiFormatResource):
|
|||||||
super(MapupdateStatusPage, self).__init__()
|
super(MapupdateStatusPage, self).__init__()
|
||||||
self._update_status = update_status
|
self._update_status = update_status
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_HTML(self, req):
|
def render_HTML(self, req):
|
||||||
elem = MapupdateStatusElement(self._update_status);
|
elem = MapupdateStatusElement(self._update_status);
|
||||||
return renderElement(req, elem)
|
return renderElement(req, elem)
|
||||||
@ -1248,11 +1256,13 @@ class Status(MultiFormatResource):
|
|||||||
super(Status, self).__init__()
|
super(Status, self).__init__()
|
||||||
self.history = history
|
self.history = history
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_HTML(self, req):
|
def render_HTML(self, req):
|
||||||
elem = StatusElement(self._get_active_operations(),
|
elem = StatusElement(self._get_active_operations(),
|
||||||
self._get_recent_operations())
|
self._get_recent_operations())
|
||||||
return renderElement(req, elem)
|
return renderElement(req, elem)
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_JSON(self, req):
|
def render_JSON(self, req):
|
||||||
# modern browsers now render this instead of forcing downloads
|
# modern browsers now render this instead of forcing downloads
|
||||||
req.setHeader("content-type", "application/json")
|
req.setHeader("content-type", "application/json")
|
||||||
@ -1268,6 +1278,7 @@ class Status(MultiFormatResource):
|
|||||||
|
|
||||||
return json.dumps(data, indent=1) + "\n"
|
return json.dumps(data, indent=1) + "\n"
|
||||||
|
|
||||||
|
@exception_to_child
|
||||||
def getChild(self, path, request):
|
def getChild(self, path, request):
|
||||||
# The "if (path is empty) return self" line should handle
|
# The "if (path is empty) return self" line should handle
|
||||||
# trailing slash in request path.
|
# trailing slash in request path.
|
||||||
@ -1420,9 +1431,11 @@ class HelperStatus(MultiFormatResource):
|
|||||||
super(HelperStatus, self).__init__()
|
super(HelperStatus, self).__init__()
|
||||||
self._helper = helper
|
self._helper = helper
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_HTML(self, req):
|
def render_HTML(self, req):
|
||||||
return renderElement(req, HelperStatusElement(self._helper))
|
return renderElement(req, HelperStatusElement(self._helper))
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_JSON(self, req):
|
def render_JSON(self, req):
|
||||||
req.setHeader("content-type", "text/plain")
|
req.setHeader("content-type", "text/plain")
|
||||||
if self._helper:
|
if self._helper:
|
||||||
@ -1512,9 +1525,11 @@ class Statistics(MultiFormatResource):
|
|||||||
super(Statistics, self).__init__()
|
super(Statistics, self).__init__()
|
||||||
self._provider = provider
|
self._provider = provider
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_HTML(self, req):
|
def render_HTML(self, req):
|
||||||
return renderElement(req, StatisticsElement(self._provider))
|
return renderElement(req, StatisticsElement(self._provider))
|
||||||
|
|
||||||
|
@render_exception
|
||||||
def render_JSON(self, req):
|
def render_JSON(self, req):
|
||||||
stats = self._provider.get_stats()
|
stats = self._provider.get_stats()
|
||||||
req.setHeader("content-type", "text/plain")
|
req.setHeader("content-type", "text/plain")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user