aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-11-16 15:29:52 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-11-16 15:29:52 -0800
commit3bec430192b12bfc0000a5bd5a9cebb949c18d41 (patch)
tree27a50849cb99f7cbb2ea16a79499f26adf2e83ee /src
parent18f0093b1847c9504618f3ece251934fa3cd4f9b (diff)
downloadbun-3bec430192b12bfc0000a5bd5a9cebb949c18d41.tar.gz
bun-3bec430192b12bfc0000a5bd5a9cebb949c18d41.tar.zst
bun-3bec430192b12bfc0000a5bd5a9cebb949c18d41.zip
[router] Fix edgecase with trailing slashes in directory path
Diffstat (limited to 'src')
-rw-r--r--src/router.zig4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/router.zig b/src/router.zig
index 2be202584..209b54551 100644
--- a/src/router.zig
+++ b/src/router.zig
@@ -218,6 +218,7 @@ const RouteLoader = struct {
allocator: *std.mem.Allocator,
fs: *FileSystem,
config: Options.RouteConfig,
+ route_dirname_len: u16 = 0,
dedupe_dynamic: std.AutoArrayHashMap(u32, string),
log: *Logger.Log,
@@ -289,6 +290,7 @@ const RouteLoader = struct {
.static_list = std.StringHashMap(*Route).init(allocator),
.dedupe_dynamic = std.AutoArrayHashMap(u32, string).init(allocator),
.all_routes = .{},
+ .route_dirname_len = @truncate(u16, FileSystem.instance.relative(resolver.fs.top_level_dir, config.dir).len + @as(usize, @boolToInt(config.dir[config.dir.len - 1] != std.fs.path.sep))),
};
defer this.dedupe_dynamic.deinit();
this.load(ResolverType, resolver, root_dir_info);
@@ -410,7 +412,7 @@ const RouteLoader = struct {
this.log,
this.allocator,
public_dir,
- @truncate(u16, this.config.dir.len - fs.top_level_dir.len),
+ this.route_dirname_len,
)) |route| {
this.appendRoute(route);
}