class Heroku::Kensa::PostProxy

Public Class Methods

new(sso) click to toggle source
Calls superclass method
# File lib/heroku/kensa/post_proxy.rb, line 4
def initialize(sso)
  @params = sso.query_params
  @sso = sso
  super :Port => sso.proxy_port, :AccessLog => WEBrick::Log.new(StringIO.new),
          :Logger => WEBrick::Log.new(StringIO.new)
end

Public Instance Methods

service(req, res) click to toggle source
# File lib/heroku/kensa/post_proxy.rb, line 11
def service(req, res)
  res.status = 200
  res.body = <<-HTML
    <html>
      <head>
        <script type="text/javascript">
          window.onload = function() { document.forms[0].submit() }
        </script>
      </head>
      <body>
        <form action="#{@sso.post_url}" method="POST">
          #{ @params.map do |key, value|
              %|<input type="hidden" name="#{key}" value="#{value}" />|
             end.join("\n")  
           }
        </form>
      </body>
    </html>
  HTML
  res["Content-Length"] = res.body.size
  @status = :Shutdown
end