Class: Shugoi::RenderEndpoint
- Inherits:
-
Object
- Object
- Shugoi::RenderEndpoint
- Defined in:
- lib/shugoi/render_endpoint.rb
Instance Method Summary collapse
- #call(env, query) ⇒ Object
-
#initialize(renderer, pow) ⇒ RenderEndpoint
constructor
A new instance of RenderEndpoint.
Constructor Details
#initialize(renderer, pow) ⇒ RenderEndpoint
Returns a new instance of RenderEndpoint.
5 6 7 8 |
# File 'lib/shugoi/render_endpoint.rb', line 5 def initialize(renderer, pow) @renderer = renderer @pow = pow end |
Instance Method Details
#call(env, query) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/shugoi/render_endpoint.rb', line 10 def call(env, query) ip = (env["HTTP_X_FORWARDED_FOR"].to_s.split(",")[0] || "").strip ip = env["REMOTE_ADDR"].to_s if ip.empty? data = @renderer.render_data(query["token"].to_s, query["mid"].to_s, query["grant"].to_s, ip) headers = { "content-type" => "application/json" } if data[:html] data[:html] = RenderHandler.inject_referrer_policy(data[:html]) headers.merge!("referrer-policy" => "strict-origin-when-cross-origin", "cache-control" => "no-store, no-cache, must-revalidate, no-transform", "pragma" => "no-cache", "set-cookie" => @pow.) end [200, headers, [JSON.generate(data)]] end |