xmlblog (owner)

Revisions

gist: 38516 Download_button fork
public
Description:
Forcing Rails to Think a Request is Using SSL
Public Clone URL: git://gist.github.com/38516.git
application.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# app/controllers/application.rb
 
class ApplicationController < ActionController::Base
  before_filter :modify_protocol
 
  private
 
  def modify_protocol
    returning(true) do
      if Rails.configuration.protocol_modifier
        request.extend(Rails.configuration.protocol_modifier)
      end
    end
  end
end
duplicity.rb
1
2
3
4
5
6
7
8
9
# lib/duplicity/force_ssl.rb
 
module Duplicity
  module ForceSSL
    def protocol
      'https://'
    end
  end
end
environment.rb
1
2
3
4
5
6
7
8
9
10
11
# config/environment.rb
 
module CustomConfiguration
  attr_accessor :protocol_modifier
end
 
Rails::Initializer.run do |config|
  config.extend(CustomConfiguration)
 
  # standard configuration elided for clarity
end
production.rb
1
2
3
# config/environments/production.rb
 
config.protocol_modifier = Duplicity::ForceSSL