Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
91a4193e
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,发现更多精彩内容 >>
提交
91a4193e
编写于
1月 21, 2011
作者:
B
brainopia
提交者:
José Valim
1月 21, 2011
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support list of possible domains for cookies
Signed-off-by:
N
José Valim
<
jose.valim@gmail.com
>
上级
02319b79
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
48 addition
and
0 deletion
+48
-0
actionpack/lib/action_dispatch/middleware/cookies.rb
actionpack/lib/action_dispatch/middleware/cookies.rb
+3
-0
actionpack/test/dispatch/cookies_test.rb
actionpack/test/dispatch/cookies_test.rb
+45
-0
未找到文件。
actionpack/lib/action_dispatch/middleware/cookies.rb
浏览文件 @
91a4193e
...
...
@@ -136,6 +136,9 @@ def handle_options(options) #:nodoc:
options
[
:domain
]
=
if
(
@host
!~
/^[\d.]+$/
)
&&
(
@host
=~
DOMAIN_REGEXP
)
".
#{
$1
}
.
#{
$2
}
"
end
elsif
options
[
:domain
].
is_a?
Array
# if host matches one of the supplied domains without a dot in front of it
options
[
:domain
]
=
options
[
:domain
].
find
{
|
domain
|
@host
.
include?
domain
[
/^\.?(.*)$/
,
1
]
}
end
end
...
...
actionpack/test/dispatch/cookies_test.rb
浏览文件 @
91a4193e
...
...
@@ -95,6 +95,16 @@ def delete_cookie_with_domain
head
:ok
end
def
set_cookie_with_domains
cookies
[
:user_name
]
=
{
:value
=>
"rizwanreza"
,
:domain
=>
%w(example1.com example2.com .example3.com)
}
head
:ok
end
def
delete_cookie_with_domains
cookies
.
delete
(
:user_name
,
:domain
=>
%w(example1.com example2.com .example3.com)
)
head
:ok
end
def
symbol_key
cookies
[
:user_name
]
=
"david"
head
:ok
...
...
@@ -322,6 +332,41 @@ def test_deleting_cookie_with_all_domain_option
assert_cookie_header
"user_name=; domain=.nextangle.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT"
end
def
test_cookie_with_several_preset_domains_using_one_of_these_domains
@request
.
host
=
"example1.com"
get
:set_cookie_with_domains
assert_response
:success
assert_cookie_header
"user_name=rizwanreza; domain=example1.com; path=/"
end
def
test_cookie_with_several_preset_domains_using_other_domain
@request
.
host
=
"other-domain.com"
get
:set_cookie_with_domains
assert_response
:success
assert_cookie_header
"user_name=rizwanreza; path=/"
end
def
test_cookie_with_several_preset_domains_using_shared_domain
@request
.
host
=
"example3.com"
get
:set_cookie_with_domains
assert_response
:success
assert_cookie_header
"user_name=rizwanreza; domain=.example3.com; path=/"
end
def
test_deletings_cookie_with_several_preset_domains_using_one_of_these_domains
@request
.
host
=
"example2.com"
get
:delete_cookie_with_domains
assert_response
:success
assert_cookie_header
"user_name=; domain=example2.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT"
end
def
test_deletings_cookie_with_several_preset_domains_using_other_domain
@request
.
host
=
"other-domain.com"
get
:delete_cookie_with_domains
assert_response
:success
assert_cookie_header
"user_name=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT"
end
def
test_cookies_hash_is_indifferent_access
[
:symbol_key
,
:string_key
].
each
do
|
cookie_key
|
get
cookie_key
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录