aboutsummaryrefslogtreecommitdiff
path: root/src/routes/fallback.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/fallback.zig')
-rw-r--r--src/routes/fallback.zig37
1 files changed, 0 insertions, 37 deletions
diff --git a/src/routes/fallback.zig b/src/routes/fallback.zig
deleted file mode 100644
index 25e1927..0000000
--- a/src/routes/fallback.zig
+++ /dev/null
@@ -1,37 +0,0 @@
-const std = @import("std");
-const mime = @import("../mime.zig");
-const Context = @import("context.zig");
-
-const log = std.log.scoped(.fallback);
-
-pub const needs_auth = false;
-pub const method = .GET;
-
-pub fn handler(ctx: *Context) anyerror![]const u8 {
- var static = try std.fs.cwd().openDir("static", .{});
- defer static.close();
-
- if (static.openFile(ctx.request.head.target[1..], .{})) |file| {
- defer file.close();
- const content = file.readToEndAlloc(ctx.allocator, std.math.maxInt(usize));
- const mime_type = mime.get_type(ctx.request.head.target);
- ctx.response.headers.content_type = mime_type;
- return content;
- } else |_| {
- var subdir = if (ctx.request.head.target.len == 1) static
- else (static.openDir(ctx.request.head.target[1..], .{}) catch {
- return error.NotFound;
- });
- defer if (ctx.request.head.target.len > 1) subdir.close();
-
- if (subdir.openFile("index.html", .{})) |file| {
- defer file.close();
- const content = file.readToEndAlloc(ctx.allocator, std.math.maxInt(usize));
- ctx.response.headers.content_type = "text/html";
- return content;
- } else |_| {
- log.warn("File '{s}' Not Found", .{ ctx.request.head.target });
- return error.NotFound;
- }
- }
-}