From cbaffcd1aa202818d9ef61f1df80b69dbe5b01c1 Mon Sep 17 00:00:00 2001 From: Cress Date: Tue, 21 Jan 2025 15:23:09 +0900 Subject: [PATCH] Fix #1204 --- lib/tdiary/dispatcher/index_main.rb | 10 ++++++---- lib/tdiary/dispatcher/update_main.rb | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/tdiary/dispatcher/index_main.rb b/lib/tdiary/dispatcher/index_main.rb index 1af0c40ba..9499ac66a 100644 --- a/lib/tdiary/dispatcher/index_main.rb +++ b/lib/tdiary/dispatcher/index_main.rb @@ -45,8 +45,9 @@ def run head['pragma'] = 'no-cache' head['cache-control'] = 'no-cache' head['x-frame-options'] = conf.x_frame_options if conf.x_frame_options - head['cookie'] = tdiary.cookies if tdiary.cookies.size > 0 - TDiary::Response.new( body, ::TDiary::Dispatcher.extract_status_for_legacy_tdiary( head ), head ) + res = TDiary::Response.new( body, ::TDiary::Dispatcher.extract_status_for_legacy_tdiary( head ), head ) + res.set_header('Set-Cookie', tdiary.cookies.map(&:to_s)) if tdiary && tdiary.cookies.size > 0 + res end rescue TDiary::NotFound body = %Q[ @@ -67,9 +68,10 @@ def run Wait or Click here! ] - head['cookie'] = tdiary.cookies if tdiary && tdiary.cookies.size > 0 # TODO return code should be 302? (current behaviour returns 200) - TDiary::Response.new( body, 200, head ) + res = TDiary::Response.new( body, 200, head ) + res.set_header('Set-Cookie', tdiary.cookies.map(&:to_s)) if tdiary && tdiary.cookies.size > 0 + res end end diff --git a/lib/tdiary/dispatcher/update_main.rb b/lib/tdiary/dispatcher/update_main.rb index d8df3a6bc..0fb89a395 100644 --- a/lib/tdiary/dispatcher/update_main.rb +++ b/lib/tdiary/dispatcher/update_main.rb @@ -41,9 +41,10 @@ def run Wait or Click here! ] - head['cookie'] = tdiary.cookies if tdiary.cookies.size > 0 # TODO return code should be 302? (current behaviour returns 200) - TDiary::Response.new( body, 200, head ) + res = TDiary::Response.new( body, 200, head ) + res.set_header('Set-Cookie', tdiary.cookies.map(&:to_s)) if tdiary && tdiary.cookies.size > 0 + res end end