protobuffy 3.5.1 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +16 -7
- data/lib/protobuf/rpc/env.rb +1 -0
- data/lib/protobuf/rpc/server.rb +4 -2
- data/lib/protobuf/rpc/servers/http/server.rb +1 -1
- data/lib/protobuf/version.rb +1 -1
- data/protobuffy.gemspec +9 -3
- data/spec/lib/protobuf/rpc/servers/http/server_spec.rb +16 -1
- metadata +27 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5bdff6c7c5855a0e038787f254471e5024deb0ed
|
4
|
+
data.tar.gz: dfa56251758baed600cd8576c47012b7d7e8d698
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15411df49fdb161491e6e4e746325eb5c735ffdb00f0057d9b0084dea4011f2a890b819f8ec232b78230616398d3b8134432cd6ec6be5215a8c6a60925d804a5
|
7
|
+
data.tar.gz: e66a6f427327a47a0804a5f6faa754f36962abf92233514b56b565ed01f594a797d418c2f4389c91a8859e9bf5809a4c053594185963eaef150db25460193847
|
data/.travis.yml
CHANGED
@@ -1,12 +1,21 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
- 1.9.3
|
4
|
+
- 2.3.1
|
5
|
+
before_install:
|
6
|
+
- gem install bundler
|
7
|
+
script: NO_COMPILE_TEST_PROTOS=1 bundle _1.12.5_ exec rake spec/lib
|
6
8
|
notifications:
|
7
9
|
webhooks:
|
8
10
|
urls:
|
9
|
-
|
10
|
-
on_success: change
|
11
|
-
on_failure: always
|
12
|
-
on_start: false
|
11
|
+
- https://webhooks.gitter.im/e/51a956bcd2b1854d6756
|
12
|
+
on_success: change
|
13
|
+
on_failure: always
|
14
|
+
on_start: false
|
15
|
+
deploy:
|
16
|
+
provider: rubygems
|
17
|
+
api_key:
|
18
|
+
secure: iQ9JnUKw2CaOGUSR2dSYQ6z3Kp55GkZ0s5ZYq5EQ2KW94hJh1Mn7t3hUnga7IW569lGQyjnWziLRW0GAVxu3q+RrT2OwZJYB/di39kv1IJTQpXbFI7bm/AvbYba2t3mFgMLpPGEmxemyAQ1AigbEu/5V5DssfF6Qkh6jiMuphaY=
|
19
|
+
gem: protobuffy
|
20
|
+
on:
|
21
|
+
repo: lookout/protobuffy
|
data/lib/protobuf/rpc/env.rb
CHANGED
data/lib/protobuf/rpc/server.rb
CHANGED
@@ -20,10 +20,12 @@ module Protobuf
|
|
20
20
|
|
21
21
|
# Invoke the service method dictated by the proto wrapper request object
|
22
22
|
#
|
23
|
-
def handle_request(request_data)
|
23
|
+
def handle_request(request_data, parent_env = nil)
|
24
24
|
# Create an env object that holds different parts of the environment and
|
25
25
|
# is available to all of the middlewares
|
26
|
-
env = Env.new('encoded_request' => request_data,
|
26
|
+
env = Env.new('encoded_request' => request_data,
|
27
|
+
'log_signature' => log_signature,
|
28
|
+
'parent_env' => parent_env)
|
27
29
|
|
28
30
|
# Invoke the middleware stack, the last of which is the service dispatcher
|
29
31
|
env = Rpc.middleware.call(env)
|
@@ -56,7 +56,7 @@ module Protobuf
|
|
56
56
|
encoded_request = rpc_request.encode()
|
57
57
|
|
58
58
|
begin
|
59
|
-
encoded_response = handle_request(encoded_request)
|
59
|
+
encoded_response = handle_request(encoded_request, env)
|
60
60
|
rescue Exception => e
|
61
61
|
return protobuf_http_response 500,
|
62
62
|
:error => "Handle request failed: #{e.to_s}",
|
data/lib/protobuf/version.rb
CHANGED
data/protobuffy.gemspec
CHANGED
@@ -19,12 +19,18 @@ require "protobuf/version"
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
|
-
|
22
|
+
if RUBY_VERSION =~ /^2/
|
23
|
+
s.add_dependency 'activesupport'
|
24
|
+
else
|
25
|
+
s.add_dependency 'activesupport', '< 5'
|
26
|
+
end
|
27
|
+
|
23
28
|
s.add_dependency 'middleware'
|
24
|
-
s.add_dependency 'multi_json'
|
29
|
+
s.add_dependency 'multi_json', '~> 1.0'
|
25
30
|
s.add_dependency 'thor'
|
31
|
+
s.add_dependency 'json', '< 2.0'
|
26
32
|
|
27
|
-
s.add_development_dependency 'rack'
|
33
|
+
s.add_development_dependency 'rack', '~> 1.0'
|
28
34
|
s.add_development_dependency 'faraday'
|
29
35
|
s.add_development_dependency 'ffi-rzmq'
|
30
36
|
s.add_development_dependency 'pry-nav'
|
@@ -11,11 +11,14 @@ module ReverseModule
|
|
11
11
|
end
|
12
12
|
class ReverseResponse < ::Protobuf::Message
|
13
13
|
required :string, :reversed, 1
|
14
|
+
optional :string, :some_header, 2
|
14
15
|
end
|
15
16
|
class ReverseService < ::Protobuf::Rpc::Service
|
16
17
|
rpc :reverse, ReverseRequest, ReverseResponse
|
17
18
|
def reverse
|
18
|
-
respond_with :reversed => request.input.reverse
|
19
|
+
respond_with :reversed => request.input.reverse,
|
20
|
+
:some_reversed_header => env.parent_env.has_key?('X-SOME-HEADER') ?
|
21
|
+
env.parent_env['X-SOME-HEADER'].reverse : nil
|
19
22
|
end
|
20
23
|
end
|
21
24
|
end
|
@@ -38,6 +41,18 @@ describe Protobuf::Rpc::Http::Server do
|
|
38
41
|
response.body.should eq ReverseModule::ReverseResponse.new(:reversed => "hello world".reverse).encode()
|
39
42
|
end
|
40
43
|
|
44
|
+
it 'should return the correct response for ReverseModule::ReverseService.reverse when some header is passed' do
|
45
|
+
response = client.post "/ReverseModule%3A%3AReverseService/reverse",
|
46
|
+
:input => ReverseModule::ReverseRequest.new(:input => "hello world").encode(),
|
47
|
+
"X-SOME-HEADER" => "yes i am"
|
48
|
+
response.status.should eq 200
|
49
|
+
response.headers['content-type'].should eq "application/x-protobuf"
|
50
|
+
response.headers['x-protobuf-error'].should be_nil
|
51
|
+
response.headers['x-protobuf-error-reason'].should be_nil
|
52
|
+
response.body.should eq ReverseModule::ReverseResponse.new(:reversed => "hello world".reverse,
|
53
|
+
:some_reversed_header => "yes i am".reverse).encode()
|
54
|
+
end
|
55
|
+
|
41
56
|
it 'should return METHOD_NOT_FOUND for ReverseModule::ReverseService.bobloblaw' do
|
42
57
|
response = client.post "/ReverseModule%3A%3AReverseService/bobloblaw", :input => ReverseModule::ReverseRequest.new(:input => "hello world").encode()
|
43
58
|
response.status.should eq 404
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protobuffy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BJ Neilsen
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2016-08-19 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activesupport
|
@@ -20,14 +20,14 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
23
|
+
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - ">="
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: '
|
30
|
+
version: '0'
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: middleware
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -46,16 +46,16 @@ dependencies:
|
|
46
46
|
name: multi_json
|
47
47
|
requirement: !ruby/object:Gem::Requirement
|
48
48
|
requirements:
|
49
|
-
- - "
|
49
|
+
- - "~>"
|
50
50
|
- !ruby/object:Gem::Version
|
51
|
-
version: '0'
|
51
|
+
version: '1.0'
|
52
52
|
type: :runtime
|
53
53
|
prerelease: false
|
54
54
|
version_requirements: !ruby/object:Gem::Requirement
|
55
55
|
requirements:
|
56
|
-
- - "
|
56
|
+
- - "~>"
|
57
57
|
- !ruby/object:Gem::Version
|
58
|
-
version: '0'
|
58
|
+
version: '1.0'
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: thor
|
61
61
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,20 +70,34 @@ dependencies:
|
|
70
70
|
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: '0'
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: json
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "<"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '2.0'
|
80
|
+
type: :runtime
|
81
|
+
prerelease: false
|
82
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - "<"
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '2.0'
|
73
87
|
- !ruby/object:Gem::Dependency
|
74
88
|
name: rack
|
75
89
|
requirement: !ruby/object:Gem::Requirement
|
76
90
|
requirements:
|
77
|
-
- - "
|
91
|
+
- - "~>"
|
78
92
|
- !ruby/object:Gem::Version
|
79
|
-
version: '0'
|
93
|
+
version: '1.0'
|
80
94
|
type: :development
|
81
95
|
prerelease: false
|
82
96
|
version_requirements: !ruby/object:Gem::Requirement
|
83
97
|
requirements:
|
84
|
-
- - "
|
98
|
+
- - "~>"
|
85
99
|
- !ruby/object:Gem::Version
|
86
|
-
version: '0'
|
100
|
+
version: '1.0'
|
87
101
|
- !ruby/object:Gem::Dependency
|
88
102
|
name: faraday
|
89
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -436,9 +450,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
436
450
|
version: '0'
|
437
451
|
requirements: []
|
438
452
|
rubyforge_project:
|
439
|
-
rubygems_version: 2.
|
453
|
+
rubygems_version: 2.6.6
|
440
454
|
signing_key:
|
441
455
|
specification_version: 4
|
442
456
|
summary: Google Protocol Buffers serialization and RPC implementation for Ruby.
|
443
457
|
test_files: []
|
444
|
-
has_rdoc:
|