Module: GRPCWeb::MessageSerialization
- Extended by:
- ContentTypes
- Defined in:
- lib/grpc_web/server/message_serialization.rb
Overview
Placeholder
Constant Summary
Constants included from ContentTypes
ContentTypes::ALL_CONTENT_TYPES, ContentTypes::BASE64_CONTENT_TYPES, ContentTypes::DEFAULT_CONTENT_TYPE, ContentTypes::JSON_CONTENT_TYPE, ContentTypes::PROTO_CONTENT_TYPE, ContentTypes::TEXT_CONTENT_TYPE, ContentTypes::TEXT_PROTO_CONTENT_TYPE, ContentTypes::UNSPECIFIED_CONTENT_TYPES
Class Method Summary collapse
Class Method Details
.deserialize_request(request) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/grpc_web/server/message_serialization.rb', line 15 def deserialize_request(request) service_class = request.service.class request_proto_class = service_class.rpc_descs[request.service_method.to_sym].input payload_frame = request.body.find(&:payload?) if request.content_type == JSON_CONTENT_TYPE request_proto = request_proto_class.decode_json(payload_frame.body) else request_proto = request_proto_class.decode(payload_frame.body) end ::GRPCWeb::GRPCWebRequest.new( request.service, request.service_method, request.content_type, request.accept, request_proto, ) end |
.serialize_response(response) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/grpc_web/server/message_serialization.rb', line 35 def serialize_response(response) if response.body.is_a?(Exception) serialize_error_response(response) else serialize_success_response(response) end end |