Class: AwsLambda::Marshaller
- Inherits:
-
Object
- Object
- AwsLambda::Marshaller
- Defined in:
- lib/aws_lambda_ric/aws_lambda_marshaller.rb
Class Method Summary collapse
-
.marshall_request(raw_request) ⇒ Object
By default, JSON-parses the raw request body.
-
.marshall_response(method_response) ⇒ Object
By default, just runs #to_json on the method’s response value.
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 |