diff --git a/newsfragments/3294.minor b/newsfragments/3294.minor new file mode 100644 index 000000000..e69de29bb diff --git a/src/allmydata/web/root.py b/src/allmydata/web/root.py index 8726cb00f..95c80994e 100644 --- a/src/allmydata/web/root.py +++ b/src/allmydata/web/root.py @@ -28,7 +28,7 @@ from allmydata.web.common import ( WebError, get_arg, MultiFormatPage, - RenderMixin, + MultiFormatResource, get_format, get_mutable_type, render_time_delta, @@ -169,14 +169,15 @@ class FileHandler(rend.Page): raise WebError("/file must be followed by a file-cap and a name", http.NOT_FOUND) -class IncidentReporter(RenderMixin, rend.Page): - def render_POST(self, ctx): - req = IRequest(ctx) +class IncidentReporter(MultiFormatResource): + """Handler for /report_incident POST request""" + + def render(self, req): log.msg(format="User reports incident through web page: %(details)s", details=get_arg(req, "details", ""), level=log.WEIRD, umid="LkD9Pw") - req.setHeader("content-type", "text/plain") - return "An incident report has been saved to logs/incidents/ in the node directory." + req.setHeader("content-type", "text/plain; charset=UTF-8") + return b"An incident report has been saved to logs/incidents/ in the node directory." SPACE = u"\u00A0"*2