[Hiki-cvs 1451] [999] handle cookie correctly

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 8月 24日 (月) 00:02:19 JST


Revision: 999
          http://sourceforge.jp/projects/hiki/svn/view?view=rev&revision=999
Author:   okkez
Date:     2009-08-24 00:02:19 +0900 (Mon, 24 Aug 2009)

Log Message:
-----------
handle cookie correctly

Modified Paths:
--------------
    hiki/branches/rack/hiki/command.rb
    hiki/branches/rack/hiki/page.rb

Modified: hiki/branches/rack/hiki/command.rb
===================================================================
--- hiki/branches/rack/hiki/command.rb	2009-08-23 15:02:16 UTC (rev 998)
+++ hiki/branches/rack/hiki/command.rb	2009-08-23 15:02:19 UTC (rev 999)
@@ -27,6 +27,7 @@
       @params = cgi.params
       @cgi    = cgi
       @conf   = conf
+      @cookies = cgi.cookies
       code_conv
 
       # for TrackBack
@@ -67,7 +68,7 @@
       options['params'] = @params
 
       @plugin = Plugin.new( options, @conf )
-      session_id =****@cgi*****['session_id']
+      session_id = @cookies['session_id']
       if session_id
         session = Hiki::Session.new( @conf, session_id )
         if session.check
@@ -168,7 +169,7 @@
     end
 
     def cmd_preview
-      raise SessionError if****@plugi*****_id && @plugin.session_id != @cgi['session_id']
+      raise SessionError if****@plugi*****_id && @plugin.session_id != @params['session_id']
       @cmd = 'preview'
       cmd_edit( @p, @params['contents'], @conf.msg_preview, @params['page_title'] )
     end
@@ -371,7 +372,7 @@
     end
 
     def cmd_save( page, text, md5hex, update_timestamp = true )
-      raise SessionError if****@plugi*****_id && @plugin.session_id != @cgi['session_id']
+      raise SessionError if****@plugi*****_id && @plugin.session_id != @params['session_id']
       subject = ''
       if text.empty?
         @db.delete( page )
@@ -521,7 +522,7 @@
       data[:title]          = title( @conf.msg_admin )
       data[:session_id]     =****@plugi*****_id
       if @params['saveconf']
-        raise SessionError if****@plugi*****_id && @plugin.session_id != @cgi['session_id']
+        raise SessionError if****@plugi*****_id && @plugin.session_id != @params['session_id']
         data[:save_config]    = true
       end
       generate_page( data )
@@ -567,7 +568,7 @@
     end
 
     def cmd_logout
-      if session_id =****@cgi*****['session_id'][0]
+      if session_id = @cookies['session_id']
         cookies = [session_cookie(session_id, -1)]
         Hiki::Session.new( @conf, session_id ).delete
       end

Modified: hiki/branches/rack/hiki/page.rb
===================================================================
--- hiki/branches/rack/hiki/page.rb	2009-08-23 15:02:16 UTC (rev 998)
+++ hiki/branches/rack/hiki/page.rb	2009-08-23 15:02:19 UTC (rev 999)
@@ -52,7 +52,16 @@
 
     def out( headers = nil )
       @headers.update( headers ) if headers
-      return Hiki::Response.new(@body, 200, @headers)
+      response = Hiki::Response.new(@body, 200, @headers)
+      if Object.const_defined?(:Rack)
+        cookies =****@heade*****('cookie')
+        if cookies
+          cookies.each do |cookie|
+            response.set_cookie(cookie.name, cookie.value)
+          end
+        end
+      end
+      return response
     end
   end
 end




Hiki-cvs メーリングリストの案内
Back to archive index