std autodocs server: don't trim all URLs

This is a partial revert of 6635360dbdbd6793b741648d51d25f12550e01db.
This commit is contained in:
Andrew Kelley 2024-05-22 07:13:08 -07:00
parent 95845ba2ac
commit 2d4b264527

View File

@ -116,19 +116,21 @@ const Context = struct {
}; };
fn serveRequest(request: *std.http.Server.Request, context: *Context) !void { fn serveRequest(request: *std.http.Server.Request, context: *Context) !void {
const target = std.mem.trimRight(u8, request.head.target, "/"); if (std.mem.eql(u8, request.head.target, "/") or
if (target.len == 0 or std.mem.eql(u8, target, "/debug")) { std.mem.eql(u8, request.head.target, "/debug") or
std.mem.eql(u8, request.head.target, "/debug/"))
{
try serveDocsFile(request, context, "docs/index.html", "text/html"); try serveDocsFile(request, context, "docs/index.html", "text/html");
} else if (std.mem.eql(u8, target, "/main.js") or } else if (std.mem.eql(u8, request.head.target, "/main.js") or
std.mem.eql(u8, target, "/debug/main.js")) std.mem.eql(u8, request.head.target, "/debug/main.js"))
{ {
try serveDocsFile(request, context, "docs/main.js", "application/javascript"); try serveDocsFile(request, context, "docs/main.js", "application/javascript");
} else if (std.mem.eql(u8, target, "/main.wasm")) { } else if (std.mem.eql(u8, request.head.target, "/main.wasm")) {
try serveWasm(request, context, .ReleaseFast); try serveWasm(request, context, .ReleaseFast);
} else if (std.mem.eql(u8, target, "/debug/main.wasm")) { } else if (std.mem.eql(u8, request.head.target, "/debug/main.wasm")) {
try serveWasm(request, context, .Debug); try serveWasm(request, context, .Debug);
} else if (std.mem.eql(u8, target, "/sources.tar") or } else if (std.mem.eql(u8, request.head.target, "/sources.tar") or
std.mem.eql(u8, target, "/debug/sources.tar")) std.mem.eql(u8, request.head.target, "/debug/sources.tar"))
{ {
try serveSourcesTar(request, context); try serveSourcesTar(request, context);
} else { } else {