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