class Lamby::Rack
Constants
- HTTP_X_REQUESTID
- LAMBDA_CONTEXT
- LAMBDA_EVENT
Attributes
context[R]
event[R]
Public Class Methods
new(event, context)
click to toggle source
# File lib/lamby/rack.rb, line 12 def initialize(event, context) @event = event @context = context end
Public Instance Methods
alb?()
click to toggle source
# File lib/lamby/rack.rb, line 29 def alb? false end
api?()
click to toggle source
# File lib/lamby/rack.rb, line 25 def api? false end
env()
click to toggle source
# File lib/lamby/rack.rb, line 17 def env @env ||= env_base.merge!(env_headers) end
multi_value?()
click to toggle source
# File lib/lamby/rack.rb, line 33 def multi_value? false end
response(_handler)
click to toggle source
# File lib/lamby/rack.rb, line 21 def response(_handler) {} end
Private Instance Methods
base64_encoded?()
click to toggle source
# File lib/lamby/rack.rb, line 76 def base64_encoded? event['isBase64Encoded'] end
body()
click to toggle source
# File lib/lamby/rack.rb, line 60 def body @body ||= if event['body'] && base64_encoded? Base64.decode64 event['body'] else event['body'] end end
content_length()
click to toggle source
# File lib/lamby/rack.rb, line 55 def content_length bytesize = body.bytesize.to_s if body headers.delete('Content-Length') || headers.delete('content-length') || headers.delete('CONTENT_LENGTH') || bytesize end
content_type()
click to toggle source
# File lib/lamby/rack.rb, line 51 def content_type headers.delete('Content-Type') || headers.delete('content-type') || headers.delete('CONTENT_TYPE') end
env_base()
click to toggle source
# File lib/lamby/rack.rb, line 39 def env_base raise NotImplementedError end
env_headers()
click to toggle source
# File lib/lamby/rack.rb, line 43 def env_headers headers.transform_keys do |key| "HTTP_#{key.to_s.upcase.tr '-', '_'}" end.tap do |hdrs| hdrs[HTTP_X_REQUESTID] = request_id end end
headers()
click to toggle source
# File lib/lamby/rack.rb, line 68 def headers @headers ||= event['headers'] || {} end
query_string()
click to toggle source
# File lib/lamby/rack.rb, line 72 def query_string @query_string ||= event['queryStringParameters'].try(:to_query) end
request_id()
click to toggle source
# File lib/lamby/rack.rb, line 80 def request_id context.aws_request_id end