Skip to content

Commit

Permalink
fix: sanitize statusMessage of disallowed chars (#1057)
Browse files Browse the repository at this point in the history
  • Loading branch information
danielroe authored Mar 15, 2023
1 parent 1dcf5c4 commit b708e14
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 13 deletions.
4 changes: 2 additions & 2 deletions src/dev/error.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { setResponseStatus } from "h3";
import { NitroErrorHandler } from "../types";

function errorHandler(error, event) {
event.node.res.setHeader("Content-Type", "text/html; charset=UTF-8");
event.node.res.statusCode = 503;
event.node.res.statusMessage = "Server Unavailable";
setResponseStatus(event, 503, "Server Unavailable");

let body;
let title;
Expand Down
6 changes: 2 additions & 4 deletions src/runtime/error.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// import ansiHTML from 'ansi-html'
import { setResponseStatus } from "h3";
import type { NitroErrorHandler } from "../types";
import { normalizeError, isJsonRequest } from "./utils";

Expand Down Expand Up @@ -41,10 +42,7 @@ export default <NitroErrorHandler>function (error, event) {
);
}

event.node.res.statusCode = statusCode;
if (statusMessage) {
event.node.res.statusMessage = statusMessage;
}
setResponseStatus(event, statusCode, statusMessage);

if (isJsonRequest(event)) {
event.node.res.setHeader("Content-Type", "application/json");
Expand Down
9 changes: 2 additions & 7 deletions src/runtime/renderer.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { H3Event, eventHandler } from "h3";
import { H3Event, eventHandler, setResponseStatus } from "h3";
import { useNitroApp } from "./app";

export interface RenderResponse {
Expand Down Expand Up @@ -48,12 +48,7 @@ export function defineRenderHandler(handler: RenderHandler) {
for (const header in response.headers) {
event.node.res.setHeader(header, response.headers[header]);
}
if (response.statusCode) {
event.node.res.statusCode = response.statusCode;
}
if (response.statusMessage) {
event.node.res.statusMessage = response.statusMessage;
}
setResponseStatus(event, response.statusCode, response.statusMessage);
}

// Send response body
Expand Down

0 comments on commit b708e14

Please sign in to comment.