gruf 1.2.6 → 1.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/gruf/server.rb +4 -2
- data/lib/gruf/service.rb +19 -6
- data/lib/gruf/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8494cc65922d13e3d9d70f0eeed43cb54cec22b0
|
4
|
+
data.tar.gz: e0afec068276451c09ad350d23ca165becb552b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a783314fd5761fed60ee87426cb1d1aa78d515fc447232b88470a4b73e69b3f5102119f13cb6cea53086a45ef257d461aa467cc38a2dc09f3270b04e9638479
|
7
|
+
data.tar.gz: 2adc8447c02b004a67c06eb9d73b439afd00d1db1750046f4edbeb933686a737da82813fa71b16d4f087279056fb33c1dae821b5f98c9b19fd315a445be16dd8
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@ Changelog for the gruf gem. This includes internal history before the gem was ma
|
|
2
2
|
|
3
3
|
### Pending release
|
4
4
|
|
5
|
+
### 1.2.7
|
6
|
+
|
7
|
+
- Fix issues where field errors were persisted in between separate calls
|
8
|
+
|
5
9
|
### 1.2.6
|
6
10
|
|
7
11
|
- Fix issues with arity and bidirectional streaming
|
data/lib/gruf/server.rb
CHANGED
@@ -24,8 +24,10 @@ module Gruf
|
|
24
24
|
|
25
25
|
# @return [Array<Class>] The services this server is handling
|
26
26
|
attr_accessor :services
|
27
|
-
|
27
|
+
# @return [GRPC::RpcServer] The underlying GRPC server instance
|
28
28
|
attr_reader :server
|
29
|
+
# @return [Integer] The port the server is bound to
|
30
|
+
attr_reader :port
|
29
31
|
|
30
32
|
##
|
31
33
|
# Initialize the server and load and setup the services
|
@@ -43,7 +45,7 @@ module Gruf
|
|
43
45
|
def server
|
44
46
|
unless @server
|
45
47
|
@server = GRPC::RpcServer.new(Gruf.server_options)
|
46
|
-
@server.add_http2_port(Gruf.server_binding_url, ssl_credentials)
|
48
|
+
@port = @server.add_http2_port(Gruf.server_binding_url, ssl_credentials)
|
47
49
|
services.each do |s|
|
48
50
|
@server.handle(s)
|
49
51
|
end
|
data/lib/gruf/service.rb
CHANGED
@@ -223,11 +223,14 @@ module Gruf
|
|
223
223
|
# @param [Hash] metadata (Optional) Any metadata to inject into the trailing metadata for the response
|
224
224
|
#
|
225
225
|
def fail!(_req, call, error_code, app_code = nil, message = '', metadata = {})
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
226
|
+
e = error
|
227
|
+
e.code = error_code.to_sym
|
228
|
+
e.app_code = app_code ? app_code.to_sym : error.code
|
229
|
+
e.message = message.to_s
|
230
|
+
e.metadata = metadata
|
231
|
+
|
232
|
+
cleanup!
|
233
|
+
e.fail!(call)
|
231
234
|
end
|
232
235
|
|
233
236
|
private
|
@@ -241,7 +244,7 @@ module Gruf
|
|
241
244
|
# @return [Object] The response object
|
242
245
|
#
|
243
246
|
def call_chain(original_call_sig, req, call, &block)
|
244
|
-
outer_around_call(original_call_sig, req, call) do
|
247
|
+
outer_result = outer_around_call(original_call_sig, req, call) do
|
245
248
|
begin
|
246
249
|
before_call(original_call_sig, req, call)
|
247
250
|
|
@@ -263,7 +266,10 @@ module Gruf
|
|
263
266
|
|
264
267
|
result
|
265
268
|
end
|
269
|
+
cleanup!
|
270
|
+
outer_result
|
266
271
|
rescue GRPC::BadStatus
|
272
|
+
cleanup!
|
267
273
|
raise
|
268
274
|
rescue => e
|
269
275
|
set_debug_info(e.message, e.backtrace) if Gruf.backtrace_on_error
|
@@ -316,5 +322,12 @@ module Gruf
|
|
316
322
|
def error
|
317
323
|
@error ||= Gruf::Error.new
|
318
324
|
end
|
325
|
+
|
326
|
+
##
|
327
|
+
# Cleanup after a service call
|
328
|
+
#
|
329
|
+
def cleanup!
|
330
|
+
remove_instance_variable(:@error) if instance_variable_defined?(:@error)
|
331
|
+
end
|
319
332
|
end
|
320
333
|
end
|
data/lib/gruf/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gruf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shaun McCormick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -159,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
159
159
|
version: '0'
|
160
160
|
requirements: []
|
161
161
|
rubyforge_project:
|
162
|
-
rubygems_version: 2.6.
|
162
|
+
rubygems_version: 2.6.12
|
163
163
|
signing_key:
|
164
164
|
specification_version: 4
|
165
165
|
summary: gRPC Ruby Framework
|