jsonrpc-client 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,14 @@ require 'jsonrpc/error'
6
6
  require 'jsonrpc/version'
7
7
 
8
8
  module JSONRPC
9
+ def self.logger=(logger)
10
+ @logger = logger
11
+ end
12
+
13
+ def self.logger
14
+ @logger
15
+ end
16
+
9
17
  class Base < BasicObject
10
18
  JSON_RPC_VERSION = '2.0'
11
19
 
@@ -61,7 +69,10 @@ module JSONRPC
61
69
  private
62
70
  def send_batch_request(batch)
63
71
  post_data = ::MultiJson.encode(batch)
64
- resp = ::Faraday.post(@url, post_data, @opts)
72
+ resp = ::Faraday.new { |connection|
73
+ connection.response :logger, ::JSONRPC.logger
74
+ connection.adapter ::Faraday.default_adapter
75
+ }.post(@url, post_data, @opts)
65
76
  if resp.nil? || resp.body.nil? || resp.body.empty?
66
77
  raise ::JSONRPC::Error::InvalidResponse.new
67
78
  end
@@ -127,7 +138,11 @@ module JSONRPC
127
138
  'params' => args,
128
139
  'id' => ::JSONRPC::Base.make_id
129
140
  })
130
- resp = ::Faraday.post(@url, post_data, (options || {}).merge(@opts))
141
+ resp = ::Faraday.new { |connection|
142
+ connection.response :logger, ::JSONRPC.logger
143
+ connection.adapter ::Faraday.default_adapter
144
+ }.post(@url, post_data, (options || {}).merge(@opts))
145
+
131
146
  if resp.nil? || resp.body.nil? || resp.body.empty?
132
147
  raise ::JSONRPC::Error::InvalidResponse.new
133
148
  end
@@ -1,3 +1,3 @@
1
1
  module JSONRPC
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
data/spec/client_spec.rb CHANGED
@@ -39,14 +39,14 @@ module JSONRPC
39
39
 
40
40
  context "when using an array of args" do
41
41
  it "sends a request with the correct method and args" do
42
- Faraday.should_receive(:post).with(SPEC_URL, expected, {:content_type => 'application/json'}).and_return(@resp_mock)
42
+ Faraday::Connection.any_instance.should_receive(:post).with(SPEC_URL, expected, {:content_type => 'application/json'}).and_return(@resp_mock)
43
43
  @client.invoke('foo', [1, 2, 3]).should == 42
44
44
  end
45
45
  end
46
46
 
47
47
  context "with headers" do
48
48
  it "adds additional headers" do
49
- Faraday.should_receive(:post).with(SPEC_URL, expected, {:content_type => 'application/json', "X-FOO" => "BAR"}).and_return(@resp_mock)
49
+ Faraday::Connection.any_instance.should_receive(:post).with(SPEC_URL, expected, {:content_type => 'application/json', "X-FOO" => "BAR"}).and_return(@resp_mock)
50
50
  @client.invoke('foo', [1, 2, 3], "X-FOO" => "BAR").should == 42
51
51
  end
52
52
  end
@@ -64,7 +64,7 @@ module JSONRPC
64
64
  end
65
65
  it "sends a valid JSON-RPC request and returns the result" do
66
66
  response = MultiJson.encode(BOILERPLATE.merge({'result' => 42}))
67
- Faraday.should_receive(:post).with(SPEC_URL, @expected, {:content_type => 'application/json'}).and_return(@resp_mock)
67
+ Faraday::Connection.any_instance.should_receive(:post).with(SPEC_URL, @expected, {:content_type => 'application/json'}).and_return(@resp_mock)
68
68
  @resp_mock.should_receive(:body).at_least(:once).and_return(response)
69
69
  client = Client.new(SPEC_URL)
70
70
  client.foo(1,2,3).should == 42
@@ -72,7 +72,7 @@ module JSONRPC
72
72
 
73
73
  it "sends a valid JSON-RPC request with custom options" do
74
74
  response = MultiJson.encode(BOILERPLATE.merge({'result' => 42}))
75
- Faraday.should_receive(:post).with(SPEC_URL, @expected, {:content_type => 'application/json', :timeout => 10000}).and_return(@resp_mock)
75
+ Faraday::Connection.any_instance.should_receive(:post).with(SPEC_URL, @expected, {:content_type => 'application/json', :timeout => 10000}).and_return(@resp_mock)
76
76
  @resp_mock.should_receive(:body).at_least(:once).and_return(response)
77
77
  client = Client.new(SPEC_URL, :timeout => 10000)
78
78
  client.foo(1,2,3).should == 42
@@ -80,7 +80,7 @@ module JSONRPC
80
80
 
81
81
  it "sends a valid JSON-RPC request with custom content_type" do
82
82
  response = MultiJson.encode(BOILERPLATE.merge({'result' => 42}))
83
- Faraday.should_receive(:post).with(SPEC_URL, @expected, {:content_type => 'application/json-rpc', :timeout => 10000}).and_return(@resp_mock)
83
+ Faraday::Connection.any_instance.should_receive(:post).with(SPEC_URL, @expected, {:content_type => 'application/json-rpc', :timeout => 10000}).and_return(@resp_mock)
84
84
  @resp_mock.should_receive(:body).at_least(:once).and_return(response)
85
85
  client = Client.new(SPEC_URL, :timeout => 10000, :content_type => 'application/json-rpc')
86
86
  client.foo(1,2,3).should == 42
@@ -105,7 +105,7 @@ module JSONRPC
105
105
  ])
106
106
 
107
107
  Base.stub!(:make_id).and_return('1', '2', '5', '9')
108
- Faraday.should_receive(:post).with(SPEC_URL, batch, {:content_type => 'application/json'}).and_return(@resp_mock)
108
+ Faraday::Connection.any_instance.should_receive(:post).with(SPEC_URL, batch, {:content_type => 'application/json'}).and_return(@resp_mock)
109
109
  @resp_mock.should_receive(:body).at_least(:once).and_return(response)
110
110
  client = Client.new(SPEC_URL)
111
111
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsonrpc-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-12 00:00:00.000000000 Z
12
+ date: 2012-11-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -110,7 +110,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
110
110
  version: '0'
111
111
  segments:
112
112
  - 0
113
- hash: -4087716180061062466
113
+ hash: 2230552126118589928
114
114
  required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  none: false
116
116
  requirements:
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  version: '0'
120
120
  segments:
121
121
  - 0
122
- hash: -4087716180061062466
122
+ hash: 2230552126118589928
123
123
  requirements: []
124
124
  rubyforge_project:
125
125
  rubygems_version: 1.8.24