public
Rubygem
Description: Merb Core: All you need. None you don't.
Homepage: http://www.merbivore.com
Clone URL: git://github.com/wycats/merb-core.git
Search Repo:
Move fixation to post initialize

We no longer have access to the route via the request, but
dispatcher will set the route after initialization
ivey (author)
Sat Mar 22 20:09:03 -0700 2008
commit  142d85ca7cf7c7a4f5a93b09be12978b39059125
tree    6a6b8d9f2b1a4d10033ee96d0353b26018550258
parent  0078e2c4d637a01911209b73de5fe92816a8e390
...
154
155
156
157
158
159
160
161
162
163
164
165
166
...
201
202
203
204
 
205
206
207
208
 
 
 
 
 
 
 
 
 
 
 
 
209
...
154
155
156
 
 
 
 
 
 
 
157
158
159
...
194
195
196
 
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
0
@@ -154,13 +154,6 @@ class Merb::Controller < Merb::AbstractController
0
   # @semipublic
0
   def initialize(request, status=200, headers={'Content-Type' => 'text/html; charset=utf-8'})
0
     super()
0
- if request.params.key?(_session_id_key)
0
- # Checks to see if a route allows fixation:
0
- # r.match('/foo').to(:controller => 'foo').fixatable
0
- if request.route.allow_fixation?
0
- request.cookies[_session_id_key] = request.params[_session_id_key]
0
- end
0
- end
0
     @request, @status, @headers = request, status, headers
0
   end
0
   
0
@@ -201,9 +194,21 @@ class Merb::Controller < Merb::AbstractController
0
   # ==== Note
0
   # Headers are passed into the cookie object so that you can do:
0
   # cookies[:foo] = "bar"
0
- def cookies() @_cookies ||= ::Merb::Cookies.new(request.cookies, @headers) end
0
+ def cookies() @_cookies ||= _setup_cookies end
0
     
0
   # ==== Returns
0
   # Hash:: The session that was extracted from the request object.
0
   def session() request.session end
0
+
0
+ private
0
+
0
+ # Create a default cookie jar, and pre-set a fixation cookie
0
+ # if fixation is enabled
0
+ def _setup_cookies
0
+ cookies = ::Merb::Cookies.new(request.cookies, @headers)
0
+ if request.params.key?(_session_id_key) && route.allow_fixation?
0
+ cookies[_session_id_key] = request.params[_session_id_key]
0
+ end
0
+ cookies
0
+ end
0
 end

Comments

    No one has commented yet.