From c0348330a512e2bb8fc0b380771efe6cc686e3f5 Mon Sep 17 00:00:00 2001 From: Paul Kulchenko Date: Sat, 1 Jul 2023 19:47:59 -0700 Subject: [PATCH] Add path information in logged error messages (#832) --- tool/net/redbean.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tool/net/redbean.c b/tool/net/redbean.c index 8498f9e73..318b893cd 100644 --- a/tool/net/redbean.c +++ b/tool/net/redbean.c @@ -2554,6 +2554,13 @@ static char *ServeErrorImpl(unsigned code, const char *reason, } } +static char *ServeErrorWithPath(unsigned code, const char *reason, + const char *path, size_t pathlen) { + ERRORF("(srvr) server error: %d %s %`'.*s", code, reason, + pathlen, path); + return ServeErrorImpl(code, reason, NULL); +} + static char *ServeErrorWithDetail(unsigned code, const char *reason, const char *details) { ERRORF("(srvr) server error: %d %s", code, reason); @@ -3306,7 +3313,7 @@ static char *HandleFolder(const char *path, size_t pathlen) { } else { LockInc(&shared->c.forbiddens); WARNF("(srvr) directory %`'.*s lacks index page", pathlen, path); - return ServeError(403, "Forbidden"); + return ServeErrorWithPath(403, "Forbidden", path, pathlen); } } @@ -6025,7 +6032,7 @@ static char *Route(const char *host, size_t hostlen, const char *path, return ServeStatusz(); } else { LockInc(&shared->c.notfounds); - return ServeError(404, "Not Found"); + return ServeErrorWithPath(404, "Not Found", path, pathlen); } } @@ -6048,7 +6055,7 @@ static char *RoutePath(const char *path, size_t pathlen) { } else { LockInc(&shared->c.forbiddens); WARNF("(srvr) asset %`'.*s %#o isn't readable", pathlen, path, m); - return ServeError(403, "Forbidden"); + return ServeErrorWithPath(403, "Forbidden", path, pathlen); } } else if ((r = FindRedirect(path, pathlen)) != -1) { return HandleRedirect(redirects.p + r);