1 | <?php |
||
40 | trait SessionRequestAwareTrait |
||
41 | { |
||
42 | /** |
||
43 | * Attribute on which to strore session object in request |
||
44 | * |
||
45 | * @var string |
||
46 | * |
||
47 | * @access protected |
||
48 | */ |
||
49 | protected $sessionAttribute = 'aura/session:session'; |
||
50 | |||
51 | /** |
||
52 | * Name of posted CSRF token form field |
||
53 | * |
||
54 | * @var string |
||
55 | * |
||
56 | * @access protected |
||
57 | */ |
||
58 | protected $csrfName = '__csrf_token'; |
||
59 | |||
60 | /** |
||
61 | * Name of request header storing CSRF token |
||
62 | * |
||
63 | * @var string |
||
64 | * |
||
65 | * @access protected |
||
66 | */ |
||
67 | protected $csrfHeader = 'X-Csrf-Token'; |
||
68 | |||
69 | /** |
||
70 | * Namespace for default message storage |
||
71 | * |
||
72 | * @var string |
||
73 | * |
||
74 | * @access protected |
||
75 | */ |
||
76 | protected $messageSegmentName = 'vperyod/session-handler:messages'; |
||
77 | |||
78 | /** |
||
79 | * Factory to create a messenger |
||
80 | * |
||
81 | * @var callable |
||
82 | * |
||
83 | * @access protected |
||
84 | */ |
||
85 | protected $messengerFactory; |
||
86 | |||
87 | /** |
||
88 | * Set session attribute |
||
89 | * |
||
90 | * @param string $attr name of attribute for session |
||
91 | * |
||
92 | * @return $this |
||
93 | * |
||
94 | * @access public |
||
95 | */ |
||
96 | 2 | public function setSessionAttribute($attr) |
|
101 | |||
102 | /** |
||
103 | * Get name of attribute where session is stored |
||
104 | * |
||
105 | * @return string |
||
106 | * |
||
107 | * @access protected |
||
108 | */ |
||
109 | 11 | protected function getSessionAttribute() |
|
113 | |||
114 | /** |
||
115 | * Set name of form field containing CSRF token |
||
116 | * |
||
117 | * @param string $name name of CSRF form field |
||
118 | * |
||
119 | * @return $this |
||
120 | * |
||
121 | * @access public |
||
122 | */ |
||
123 | 1 | public function setCsrfName($name) |
|
128 | |||
129 | /** |
||
130 | * Get CSRF form field name |
||
131 | * |
||
132 | * @return string |
||
133 | * |
||
134 | * @access protected |
||
135 | */ |
||
136 | 10 | protected function getCsrfName() |
|
140 | |||
141 | /** |
||
142 | * Set CSRF header name |
||
143 | * |
||
144 | * @param string $header name of header for CSRF token |
||
145 | * |
||
146 | * @return $this |
||
147 | * |
||
148 | * @access public |
||
149 | */ |
||
150 | 1 | public function setCsrfHeader($header) |
|
155 | |||
156 | /** |
||
157 | * Get name of header for CSRF token |
||
158 | * |
||
159 | * @return string |
||
160 | * |
||
161 | * @access protected |
||
162 | */ |
||
163 | 8 | protected function getCsrfHeader() |
|
167 | |||
168 | /** |
||
169 | * Set namespace for default messenger storage |
||
170 | * |
||
171 | * @param string $name name of session segment |
||
172 | * |
||
173 | * @return $this |
||
174 | * |
||
175 | * @access public |
||
176 | */ |
||
177 | 1 | public function setMessageSegmentName($name) |
|
182 | |||
183 | /** |
||
184 | * Get namespace for message segment |
||
185 | * |
||
186 | * @return string |
||
187 | * |
||
188 | * @access protected |
||
189 | */ |
||
190 | 4 | protected function getMessageSegmentName() |
|
194 | |||
195 | /** |
||
196 | * Set factory for default messenger |
||
197 | * |
||
198 | * @param callable $factory factory to create a messenger |
||
199 | * |
||
200 | * @return $this |
||
201 | * |
||
202 | * @access public |
||
203 | */ |
||
204 | 1 | public function setMessengerFactory(callable $factory) |
|
209 | |||
210 | /** |
||
211 | * Get factory to create a messenger |
||
212 | * |
||
213 | * @return callable |
||
214 | * |
||
215 | * @access protected |
||
216 | */ |
||
217 | 2 | protected function getMessengerFactory() |
|
224 | |||
225 | /** |
||
226 | * Get session from request |
||
227 | * |
||
228 | * @param Request $request PSR7 Request |
||
229 | * |
||
230 | * @return Session |
||
231 | * @throws Exception if session attribute is invalid |
||
232 | * |
||
233 | * @access protected |
||
234 | */ |
||
235 | 9 | protected function getSession(Request $request) |
|
246 | |||
247 | /** |
||
248 | * Get spec for CSRF form field |
||
249 | * |
||
250 | * @param Request $request PSR7 Request |
||
251 | * |
||
252 | * @return array |
||
253 | * |
||
254 | * @access protected |
||
255 | */ |
||
256 | 1 | protected function getCsrfSpec(Request $request) |
|
268 | |||
269 | /** |
||
270 | * Get session segment for default messenger |
||
271 | * |
||
272 | * @param Request $request PSR7 Request |
||
273 | * |
||
274 | * @return Aura\Session\SegmentInterface |
||
275 | * |
||
276 | * @access protected |
||
277 | */ |
||
278 | 3 | protected function getMessageSegment(Request $request) |
|
283 | |||
284 | /** |
||
285 | * Create a new default messenger from the message segment |
||
286 | * |
||
287 | * @param Request $request PSR7 Request |
||
288 | * |
||
289 | * @return Messenger |
||
290 | * |
||
291 | * @access protected |
||
292 | */ |
||
293 | 2 | protected function newMessenger(Request $request) |
|
299 | |||
300 | /** |
||
301 | * Create a messenger, default messenger factory |
||
302 | * |
||
303 | * @param Segment $segment session segment |
||
304 | * |
||
305 | * @return Messenger |
||
306 | * |
||
307 | * @access protected |
||
308 | */ |
||
309 | 1 | protected function messengerFactory(Segment $segment) |
|
313 | } |
||
314 |