diff options
author | 2021-11-16 15:29:52 -0800 | |
---|---|---|
committer | 2021-11-16 15:29:52 -0800 | |
commit | 3bec430192b12bfc0000a5bd5a9cebb949c18d41 (patch) | |
tree | 27a50849cb99f7cbb2ea16a79499f26adf2e83ee /src | |
parent | 18f0093b1847c9504618f3ece251934fa3cd4f9b (diff) | |
download | bun-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.zig | 4 |
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); } |