Class: Jets::Controller::Middleware::Mimic::Apigw
- Inherits:
-
Object
- Object
- Jets::Controller::Middleware::Mimic::Apigw
- Extended by:
- Memoist
- Defined in:
- lib/jets/controller/middleware/mimic/apigw.rb
Instance Method Summary collapse
- #context ⇒ Object
-
#controller ⇒ Object
Actual controller instance.
- #event ⇒ Object (also: #convert)
-
#initialize(route, env) ⇒ Apigw
constructor
A new instance of Apigw.
- #meth ⇒ Object
Constructor Details
#initialize(route, env) ⇒ Apigw
Returns a new instance of Apigw.
8 9 10 |
# File 'lib/jets/controller/middleware/mimic/apigw.rb', line 8 def initialize(route, env) @route, @env = route, env end |
Instance Method Details
#context ⇒ Object
26 27 28 |
# File 'lib/jets/controller/middleware/mimic/apigw.rb', line 26 def context LambdaContext.new end |
#controller ⇒ Object
Actual controller instance
13 14 15 16 17 18 |
# File 'lib/jets/controller/middleware/mimic/apigw.rb', line 13 def controller controller_class = @route.controller_name.constantize meth = @route.action_name # must keep the same env as @env, rack env, else constraint lambda proc request will be different controller_class.new(event, context, meth, @env) end |
#event ⇒ Object Also known as: convert
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/jets/controller/middleware/mimic/apigw.rb', line 31 def event resource = @route.path(:api_gateway) # /posts/{id}/edit path = @env['PATH_INFO'].sub('/','') # remove beginning slash { "resource" => resource, # "/posts/{id}/edit" "path" => @env['PATH_INFO'], # /posts/tung/edit "httpMethod" => @env['REQUEST_METHOD'], # GET "headers" => request_headers, "queryStringParameters" => query_string_parameters, "multiValueQueryStringParameters" => multi_value_query_string_parameters, "pathParameters" => @route.extract_parameters(path), "stageVariables" => nil, "requestContext" => {}, "body" => get_body, "isBase64Encoded" => false, } end |
#meth ⇒ Object
21 22 23 |
# File 'lib/jets/controller/middleware/mimic/apigw.rb', line 21 def meth @route.action_name end |