24 lines
688 B
Ruby
24 lines
688 B
Ruby
if defined?(Rails) && defined?(ActiveSupport)
|
|
ActiveSupport.on_load(:action_controller) do
|
|
class ::ActionController::Base
|
|
|
|
def repost(url, params: {}, options: {})
|
|
authenticity_token = form_authenticity_token if ['auto', :auto].include?(options[:authenticity_token])
|
|
render html: Repost::Senpai.perform(
|
|
url,
|
|
params: params,
|
|
options: options.merge({authenticity_token: authenticity_token}.compact)
|
|
).html_safe
|
|
end
|
|
|
|
alias :redirect_post :repost
|
|
|
|
end
|
|
end
|
|
end
|
|
|
|
# Sinatra & Rack Protection
|
|
# TODO
|
|
# defined?(Sinatra::Base) && defined?(Rack::Protection::AuthenticityToken)
|
|
# env&.fetch('rack.session', :csrf)
|