Class: Jets::Controller::Request

Inherits:
Object
  • Object
show all
Includes:
ActionDispatch::ContentSecurityPolicy::Request, ActionDispatch::Flash::RequestMethods, ActionDispatch::Http::Cache::Request, ActionDispatch::Http::FilterParameters, ActionDispatch::Http::MimeNegotiation, ActionDispatch::Http::URL, ActionDispatch::PermissionsPolicy::Request, ActionDispatch::RequestCookieMethods, Compat::Params, Compat::Request, Rack::Request::Env, Rack::Request::Helpers
Defined in:
lib/jets/controller/request.rb

Defined Under Namespace

Modules: Compat

Constant Summary

Constants included from Compat::Request

Compat::Request::ENV_METHODS, Compat::Request::LOCALHOST

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Compat::Params

#GET, #POST, #get_request_parameters, #parameters, #path_parameters, #path_parameters_defaults, #request_method_from_hidden_method_field, #request_parameters=, #set_binary_encoding

Methods included from Compat::Request

#authorization, #controller_class_for, #headers, #http_headers, #local?, #remote_ip, #remote_ip=, #request_method_symbol, #reset_session, #send_early_hints, #server_software, #session, #session=, #session_options=, #top_level_headers

Constructor Details

#initialize(rack_env: nil, event: nil) ⇒ Request

Returns a new instance of Request.



24
25
26
27
28
29
# File 'lib/jets/controller/request.rb', line 24

def initialize(rack_env: nil, event: nil)
  @rack_env = rack_env
  @event = event
  @env = normalize_env
  super(@env) # Rack::Env module => super()
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



22
23
24
# File 'lib/jets/controller/request.rb', line 22

def env
  @env
end

#eventObject (readonly)

Returns the value of attribute event.



22
23
24
# File 'lib/jets/controller/request.rb', line 22

def event
  @event
end

#routesObject

Returns the value of attribute routes.



23
24
25
# File 'lib/jets/controller/request.rb', line 23

def routes
  @routes
end

Instance Method Details

#normalize_envObject



31
32
33
34
35
36
37
# File 'lib/jets/controller/request.rb', line 31

def normalize_env
  if @rack_env # already rack env
    @rack_env # rack_env is from Controller.action => lambda { |env| .. }
  else
    Jets::Controller::RackAdapter::Env.new(@event, {}).convert # convert to Rack env
  end
end

#set_env!(env) ⇒ Object

When request hits the middleware Controller::RackAdapter::Middleware::Main endpoint We updated env since it could had been mutated down the middleware stack from Mimic to Main.



42
43
44
# File 'lib/jets/controller/request.rb', line 42

def set_env!(env)
  @env = env
end