Class: AwsLambda::Marshaller

Inherits:
Object
  • Object
show all
Defined in:
lib/aws_lambda_ric/aws_lambda_marshaller.rb

Class Method Summary collapse

Class Method Details

.marshall_request(raw_request) ⇒ Object

By default, JSON-parses the raw request body. This can be overwritten by users who know what they are doing.



10
11
12
13
14
15
16
17
# File 'lib/aws_lambda_ric/aws_lambda_marshaller.rb', line 10

def marshall_request(raw_request)
  content_type = raw_request['Content-Type']
  if content_type == 'application/json'
    JSON.parse(raw_request.body)
  else
    raw_request.body # return it unaltered
  end
end

.marshall_response(method_response) ⇒ Object

By default, just runs #to_json on the method’s response value. This can be overwritten by users who know what they are doing. The response is an array of response, content-type. If returned without a content-type, it is assumed to be application/json Finally, StringIO/IO is used to signal a response that shouldn’t be formatted as JSON, and should get a different content-type header.



25
26
27
28
29
30
31
32
# File 'lib/aws_lambda_ric/aws_lambda_marshaller.rb', line 25

def marshall_response(method_response)
  case method_response
  when StringIO, IO
    [method_response, 'application/unknown']
  else
    method_response.to_json # application/json is assumed
  end
end