forked from senchalabs/connect
-
Notifications
You must be signed in to change notification settings - Fork 0
/
session.1
118 lines (110 loc) · 2.53 KB
/
session.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "SESSION" "" "September 2010" "" ""
.
.SH "NAME"
\fBsession\fR
.
.SH "Session"
The \fIsession\fR middleware provides persistence between requests\. If we wish to supply a custom \fBStore\fR subclass, or pass options to the store itself, we can configure it like so:
.
.IP "" 4
.
.nf
var MemoryStore = connect\.session\.MemoryStore;
connect\.createServer(
connect\.cookieDecoder(),
connect\.session({ store: new MemoryStore({ reapInterval: 60000 * 10 }) }),
);
.
.fi
.
.IP "" 0
.
.P
\fBNOTE:\fR \fIcookieDecoder\fR must be above \fIsession\fR within the stack
.
.SS "Options"
.
.nf
store Custom Store subclass
fingerprint Function passed the request which computes a fingerprint of the user\.
Defaults to an md5 hash of the session\.id, remoteAddress and User\-Agent strings\.
.
.fi
.
.SS "Store"
Abstract store which can be subclassed\. To comply with \fBStore\fR you should define:
.
.IP "" 4
.
.nf
#get(hash, callback) Fetch session data via the session fingerprint and callback(err, data)
#set(hash, data, callback) Commit the session for the fingerprint and callback(err)
.
.fi
.
.IP "" 0
.
.P
Your store may also want to comply with the default \fBMemoryStore\fR, by providing:
.
.IP "" 4
.
.nf
#clear(callback) Clear all sessions and callback(err)
#all(callback) Fetches all active sessions and callback(err, sessions)
#length(callback) Fetches the total number of sessions and callback(err, len)
.
.fi
.
.IP "" 0
.
.P
Inherited methods defined by Store:
.
.IP "" 4
.
.nf
#destroy(hash, callback) Calls #set(hash, null, callback)
#regenerate(req, callback) Destroys the session, creates a new one, and callback(err)
.
.fi
.
.IP "" 0
.
.SS "MemoryStore"
Stores session data in memory, options are as follows:
.
.IP "" 4
.
.nf
reapInterval Interval in milliseconds used to reap stale sessions\. Defaults to 10 minutes
maxAage Maximum session age in milliseconds\. Defaults to 4 hours
cookie Session cookie options\. Defaults to { path: \'/\', httpOnly: true }
.
.fi
.
.IP "" 0
.
.SS "Session"
Your store interacts with instances of \fBSession\fR\. The following methods are available:
.
.IP "" 4
.
.nf
#touch() Updates the lastAccess property
#destroy(callback) Destroy this session and callback(err, destroyedBoolean)
#regenerate(callback) Destroy this session, creates a new one and callback(err)
.
.fi
.
.IP "" 0
.
.SS "See Also"
.
.IP "\(bu" 4
cookieDecoder
.
.IP "" 0