From 37d7633b6b31192f82f7aeb124bc462074571f5f Mon Sep 17 00:00:00 2001 From: Warren Bain Date: Thu, 10 Mar 2016 16:12:51 +1100 Subject: [PATCH] Ensure /_cycle passes any other params on redirect --- lib/sinatra/cyclist.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/sinatra/cyclist.rb b/lib/sinatra/cyclist.rb index 56e44cd..fb60fcb 100644 --- a/lib/sinatra/cyclist.rb +++ b/lib/sinatra/cyclist.rb @@ -23,9 +23,12 @@ def self.registered(app) session[:_cycle_duration] ||= settings.cycle_duration + session[:_cycle_redirect_params] ||= params.reject { |p| p == :duration } + query = session[:_cycle_redirect_params].map { |k,v| "#{k}=#{v}" }.join('&') + session[:_cycle] = true - redirect "/#{page}" + redirect "/#{page}#{query.empty? ? '' : "?#{query}"}" end app.before do