class AwsLambda::Marshaller

Public Class Methods

marshall_request(raw_request) click to toggle source

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

# 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) click to toggle source

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.

# 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