Skip to content

Commit 17b470d

Browse files
authored
Merge pull request #393 from minond/master
Request headers
2 parents b617229 + 0796277 commit 17b470d

File tree

4 files changed

+15
-0
lines changed

4 files changed

+15
-0
lines changed

lib/protobuf/rpc/env.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def self.hash_accessor(*names) #:nodoc:
4141
:method_name,
4242
:request,
4343
:request_type,
44+
:request_wrapper,
4445
:response,
4546
:response_type,
4647
:rpc_method,

lib/protobuf/rpc/middleware/request_decoder.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def _call(env)
2121
env.service_name = service_name
2222
env.method_name = method_name
2323
env.request = request
24+
env.request_wrapper = request_wrapper
2425
env.client_host = request_wrapper.caller
2526

2627
env.rpc_service = service

lib/protobuf/rpc/rpc.pb.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class ErrorReason < ::Protobuf::Enum
3131
#
3232
class Request < ::Protobuf::Message; end
3333
class Response < ::Protobuf::Message; end
34+
class Header < ::Protobuf::Message; end
3435

3536

3637
##
@@ -41,6 +42,7 @@ class Request
4142
required :string, :method_name, 2
4243
optional :bytes, :request_proto, 3
4344
optional :string, :caller, 4
45+
repeated ::Protobuf::Socketrpc::Header, :headers, 5
4446
end
4547

4648
class Response
@@ -51,6 +53,11 @@ class Response
5153
optional :string, :server, 5
5254
end
5355

56+
class Header
57+
required :string, :key, 1
58+
optional :string, :value, 2
59+
end
60+
5461
end
5562

5663
end

proto/rpc.proto

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ message Request
3030
required string method_name = 2; // Service method to invoke
3131
optional bytes request_proto = 3; // Serialized request bytes
3232
optional string caller = 4; // Calling hostname or address
33+
repeated Header headers = 5; // General purpose request headers
3334
}
3435

3536
message Response
@@ -41,6 +42,11 @@ message Response
4142
optional string server = 5; // Server hostname or address
4243
}
4344

45+
message Header {
46+
required string key = 1;
47+
optional string value = 2;
48+
}
49+
4450
// Possible error reasons
4551
// The server-side errors are returned in the response from the server.
4652
// The client-side errors are returned by the client-side code when it doesn't

0 commit comments

Comments
 (0)