Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
276bfa7f
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
276bfa7f
编写于
5月 12, 2017
作者:
E
Eileen M. Uchitelle
提交者:
GitHub
5月 12, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #29062 from eileencodes/force-encoding-to-original-string-encoding
Maintain original encoding from path
上级
b30760a4
8607c25b
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
7 addition
and
0 deletion
+7
-0
actionpack/lib/action_dispatch/journey/router/utils.rb
actionpack/lib/action_dispatch/journey/router/utils.rb
+2
-0
actionpack/test/journey/router/utils_test.rb
actionpack/test/journey/router/utils_test.rb
+5
-0
未找到文件。
actionpack/lib/action_dispatch/journey/router/utils.rb
浏览文件 @
276bfa7f
...
@@ -13,11 +13,13 @@ class Utils # :nodoc:
...
@@ -13,11 +13,13 @@ class Utils # :nodoc:
# normalize_path("") # => "/"
# normalize_path("") # => "/"
# normalize_path("/%ab") # => "/%AB"
# normalize_path("/%ab") # => "/%AB"
def
self
.
normalize_path
(
path
)
def
self
.
normalize_path
(
path
)
encoding
=
path
.
encoding
path
=
"/
#{
path
}
"
path
=
"/
#{
path
}
"
path
.
squeeze!
(
"/"
.
freeze
)
path
.
squeeze!
(
"/"
.
freeze
)
path
.
sub!
(
%r{/+
\Z
}
,
""
.
freeze
)
path
.
sub!
(
%r{/+
\Z
}
,
""
.
freeze
)
path
.
gsub!
(
/(%[a-f0-9]{2})/
)
{
$1
.
upcase
}
path
.
gsub!
(
/(%[a-f0-9]{2})/
)
{
$1
.
upcase
}
path
=
"/"
if
path
==
""
.
freeze
path
=
"/"
if
path
==
""
.
freeze
path
.
force_encoding
(
encoding
)
path
path
end
end
...
...
actionpack/test/journey/router/utils_test.rb
浏览文件 @
276bfa7f
...
@@ -31,6 +31,11 @@ def test_normalize_path_not_greedy
...
@@ -31,6 +31,11 @@ def test_normalize_path_not_greedy
def
test_normalize_path_uppercase
def
test_normalize_path_uppercase
assert_equal
"/foo%AAbar%AAbaz"
,
Utils
.
normalize_path
(
"/foo%aabar%aabaz"
)
assert_equal
"/foo%AAbar%AAbaz"
,
Utils
.
normalize_path
(
"/foo%aabar%aabaz"
)
end
end
def
test_normalize_path_maintains_string_encoding
path
=
"/foo%AAbar%AAbaz"
.
b
assert_equal
Encoding
::
ASCII_8BIT
,
Utils
.
normalize_path
(
path
).
encoding
end
end
end
end
end
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录