Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
张磊
/
FileStorageBeego
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
e34f8c46
authored
2014-01-08 23:24:31 +0800
by
astaxie
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
add cookie test
1 parent
d7f2c738
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
6 deletions
session/sess_cookie.go
session/sess_cookie_test.go
session/session.go
session/sess_cookie.go
View file @
e34f8c4
...
...
@@ -105,12 +105,14 @@ func (pder *CookieProvider) SessionInit(maxlifetime int64, config string) error
}
func
(
pder
*
CookieProvider
)
SessionRead
(
sid
string
)
(
SessionStore
,
error
)
{
kv
:=
make
(
map
[
interface
{}]
interface
{})
kv
,
_
=
decodeCookie
(
pder
.
block
,
maps
,
_
:=
decodeCookie
(
pder
.
block
,
pder
.
config
.
SecurityKey
,
pder
.
config
.
SecurityName
,
sid
,
pder
.
maxlifetime
)
rs
:=
&
CookieSessionStore
{
sid
:
sid
,
values
:
kv
}
if
maps
==
nil
{
maps
=
make
(
map
[
interface
{}]
interface
{})
}
rs
:=
&
CookieSessionStore
{
sid
:
sid
,
values
:
maps
}
return
rs
,
nil
}
...
...
session/sess_cookie_test.go
0 → 100644
View file @
e34f8c4
package
session
import
(
"net/http"
"net/http/httptest"
"strings"
"testing"
)
func
TestCookie
(
t
*
testing
.
T
)
{
config
:=
`{"cookieName":"gosessionid","enableSetCookie":false,"gclifetime":3600,"ProviderConfig":"{\"cookieName\":\"gosessionid\",\"securityKey\":\"beegocookiehashkey\"}"}`
globalSessions
,
err
:=
NewManager
(
"cookie"
,
config
)
if
err
!=
nil
{
t
.
Fatal
(
"init cookie session err"
,
err
)
}
r
,
_
:=
http
.
NewRequest
(
"GET"
,
"/"
,
nil
)
w
:=
httptest
.
NewRecorder
()
sess
:=
globalSessions
.
SessionStart
(
w
,
r
)
err
=
sess
.
Set
(
"username"
,
"astaxie"
)
if
err
!=
nil
{
t
.
Fatal
(
"set error,"
,
err
)
}
if
username
:=
sess
.
Get
(
"username"
);
username
!=
"astaxie"
{
t
.
Fatal
(
"get username error"
)
}
sess
.
SessionRelease
(
w
)
if
cookiestr
:=
w
.
Header
()
.
Get
(
"Set-Cookie"
);
cookiestr
==
""
{
t
.
Fatal
(
"setcookie error"
)
}
else
{
parts
:=
strings
.
Split
(
strings
.
TrimSpace
(
cookiestr
),
";"
)
for
k
,
v
:=
range
parts
{
nameval
:=
strings
.
Split
(
v
,
"="
)
if
k
==
0
&&
nameval
[
0
]
!=
"gosessionid"
{
t
.
Fatal
(
"error"
)
}
}
}
}
session/session.go
View file @
e34f8c4
...
...
@@ -85,9 +85,10 @@ func NewManager(provideName, config string) (*Manager, error) {
if
cf
.
Maxlifetime
==
0
{
cf
.
Maxlifetime
=
cf
.
Gclifetime
}
provider
.
SessionInit
(
cf
.
Maxlifetime
,
cf
.
ProviderConfig
)
err
=
provider
.
SessionInit
(
cf
.
Maxlifetime
,
cf
.
ProviderConfig
)
if
err
!=
nil
{
return
nil
,
err
}
if
cf
.
SessionIDHashFunc
==
""
{
cf
.
SessionIDHashFunc
=
"sha1"
}
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment