Skip to content

Commit 2265ea3

Browse files
committed
Fix leaky slash handling in router
1 parent 2dd0bd9 commit 2265ea3

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lib/grape/router.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ class Router
1212
# normalize_path("/%ab") # => "/%AB"
1313
# https://github.com/rails/rails/blob/00cc4ff0259c0185fe08baadaa40e63ea2534f6e/actionpack/lib/action_dispatch/journey/router/utils.rb#L19
1414
def self.normalize_path(path)
15-
return +'/' unless path
15+
return '/' unless path
16+
return path if path == '/'
1617

1718
# Fast path for the overwhelming majority of paths that don't need to be normalized
18-
return path.dup if path == '/' || (path.start_with?('/') && !(path.end_with?('/') || path.match?(%r{%|//})))
19+
return path.dup if path.start_with?('/') && !(path.end_with?('/') || path.match?(%r{%|//}))
1920

2021
# Slow path
2122
encoding = path.encoding

0 commit comments

Comments
 (0)