Class: Protobuf::Rpc::Middleware::RequestDecoder

Inherits:
Object
  • Object
show all
Includes:
Logging
Defined in:
lib/protobuf/rpc/middleware/request_decoder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Logging

initialize_logger, #log_exception, #logger, #sign_message

Constructor Details

#initialize(app) ⇒ RequestDecoder

Returns a new instance of RequestDecoder.



9
10
11
# File 'lib/protobuf/rpc/middleware/request_decoder.rb', line 9

def initialize(app)
  @app = app
end

Instance Attribute Details

#appObject (readonly)

Returns the value of attribute app.



7
8
9
# File 'lib/protobuf/rpc/middleware/request_decoder.rb', line 7

def app
  @app
end

#envObject (readonly)

Returns the value of attribute env.



7
8
9
# File 'lib/protobuf/rpc/middleware/request_decoder.rb', line 7

def env
  @env
end

Instance Method Details

#_call(env) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/protobuf/rpc/middleware/request_decoder.rb', line 17

def _call(env)
  @env = env

  logger.debug { sign_message("Decoding request: #{env.encoded_request}") }
  env.service_name = service_name
  env.method_name = method_name
  env.request = request
  env.request_wrapper = request_wrapper
  env.client_host = request_wrapper.caller

  env.rpc_service = service
  env.rpc_method = rpc_method
  env.request_type = rpc_method.request_type
  env.response_type = rpc_method.response_type

  app.call(env)
end

#call(env) ⇒ Object



13
14
15
# File 'lib/protobuf/rpc/middleware/request_decoder.rb', line 13

def call(env)
  dup._call(env)
end

#log_signatureObject



35
36
37
# File 'lib/protobuf/rpc/middleware/request_decoder.rb', line 35

def log_signature
  env.log_signature || super
end