3scale_client 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +0 -12
- data/VERSION +1 -1
- data/lib/3scale/client.rb +4 -0
- data/lib/3scale/client/version.rb +1 -1
- data/test/client_test.rb +11 -2
- data/test/middleware_test.rb +1 -1
- data/test/persistence_test.rb +1 -1
- data/test/remote_test.rb +4 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eafe101dd72cc961938abaf17d09052111b9d15c
|
4
|
+
data.tar.gz: 129167bf9d3634b14419156acf1e63a331dc3999
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2ab554edee66aa884bac24b9b26ab9a34f40d486f3c38662dc8aaa2e26a309190807120043a11edc32472d98d60b08edf852b739c3ad98fc4f0e447118bceca
|
7
|
+
data.tar.gz: 7f244c5699e88b858e94d9cb416180ebca0c29d0b4622bca6b658387a529e43efb22ceb71430a525ba8a2399fc70f71f1be6a57478a10f774e725702b6fb2229
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
|
|
5
5
|
### Fixed
|
6
6
|
### Added
|
7
7
|
|
8
|
+
## [2.6.0] - 2015-12-28
|
9
|
+
|
10
|
+
### Added
|
11
|
+
- Include 'log' field in transactions reported with 'report' method
|
12
|
+
|
8
13
|
## [2.5.0] - 2015-12-14
|
9
14
|
No changes. Stable release.
|
10
15
|
|
data/README.md
CHANGED
@@ -119,18 +119,6 @@ class ApplicationController < ActionController
|
|
119
119
|
end
|
120
120
|
```
|
121
121
|
|
122
|
-
### Using Varnish to speed up things
|
123
|
-
|
124
|
-
3scale provides a [varnish module](https://github.com/3scale/libvmod-3scale) to cache the responses of its backend to help you achieve a close to zero latency. Go and install the module and [configure it the easy way](https://github.com/3scale/libvmod-3scale/blob/master/vcl/default_3scale_simple.vcl)
|
125
|
-
|
126
|
-
When that's done all you have to do is to initialize your 3scale client pointing to the location of your varnish, by passing the host parameter to it, like this:
|
127
|
-
|
128
|
-
```ruby
|
129
|
-
client = ThreeScale::Client.new(:provider_key => "your provider key", :host => "your.varnish.net:8080")
|
130
|
-
```
|
131
|
-
|
132
|
-
that's it, your API should now be authorized and reported for you, and all that at full speed.
|
133
|
-
|
134
122
|
### Authorize
|
135
123
|
|
136
124
|
To authorize an application, call the +authorize+ method passing it the application's id and
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.6.0
|
data/lib/3scale/client.rb
CHANGED
@@ -275,6 +275,10 @@ module ThreeScale
|
|
275
275
|
transaction[:usage].each do |name, value|
|
276
276
|
append_encoded_value(result, index, [:usage, name], value)
|
277
277
|
end
|
278
|
+
|
279
|
+
transaction.fetch(:log, {}).each do |name, value|
|
280
|
+
append_encoded_value(result, index, [:log, name], value)
|
281
|
+
end
|
278
282
|
end
|
279
283
|
|
280
284
|
result
|
data/test/client_test.rb
CHANGED
@@ -5,7 +5,7 @@ require 'mocha/setup'
|
|
5
5
|
|
6
6
|
require '3scale/client'
|
7
7
|
|
8
|
-
class ThreeScale::ClientTest < MiniTest::
|
8
|
+
class ThreeScale::ClientTest < MiniTest::Test
|
9
9
|
|
10
10
|
def client(options = {})
|
11
11
|
ThreeScale::Client.new({:provider_key => '1234abcd'}.merge(options))
|
@@ -342,6 +342,9 @@ class ThreeScale::ClientTest < MiniTest::Unit::TestCase
|
|
342
342
|
'transactions[0][app_id]' => 'foo',
|
343
343
|
'transactions[0][timestamp]' => CGI.escape('2010-04-27 15:42:17 0200'),
|
344
344
|
'transactions[0][usage][hits]' => '1',
|
345
|
+
'transactions[0][log][request]' => 'foo',
|
346
|
+
'transactions[0][log][response]' => 'bar',
|
347
|
+
'transactions[0][log][code]' => '200',
|
345
348
|
'transactions[1][app_id]' => 'bar',
|
346
349
|
'transactions[1][timestamp]' => CGI.escape('2010-04-27 15:55:12 0200'),
|
347
350
|
'transactions[1][usage][hits]' => '1',
|
@@ -354,7 +357,13 @@ class ThreeScale::ClientTest < MiniTest::Unit::TestCase
|
|
354
357
|
|
355
358
|
@client.report({:app_id => 'foo',
|
356
359
|
:usage => {'hits' => 1},
|
357
|
-
:timestamp => '2010-04-27 15:42:17 0200'
|
360
|
+
:timestamp => '2010-04-27 15:42:17 0200',
|
361
|
+
:log => {
|
362
|
+
'request' => 'foo',
|
363
|
+
'response' => 'bar',
|
364
|
+
'code' => 200,
|
365
|
+
}
|
366
|
+
},
|
358
367
|
|
359
368
|
{:app_id => 'bar',
|
360
369
|
:usage => {'hits' => 1},
|
data/test/middleware_test.rb
CHANGED
data/test/persistence_test.rb
CHANGED
@@ -4,7 +4,7 @@ require '3scale/client'
|
|
4
4
|
require 'mocha/setup'
|
5
5
|
|
6
6
|
if ENV['TEST_3SCALE_PROVIDER_KEY'] && ENV['TEST_3SCALE_APP_IDS'] && ENV['TEST_3SCALE_APP_KEYS']
|
7
|
-
class ThreeScale::NetHttpPersistenceTest < MiniTest::
|
7
|
+
class ThreeScale::NetHttpPersistenceTest < MiniTest::Test
|
8
8
|
def setup
|
9
9
|
ThreeScale::Client::HTTPClient.persistent_backend = ThreeScale::Client::HTTPClient::NetHttpPersistent
|
10
10
|
|
data/test/remote_test.rb
CHANGED
@@ -4,7 +4,7 @@ require '3scale/client'
|
|
4
4
|
if ENV['TEST_3SCALE_PROVIDER_KEY'] &&
|
5
5
|
ENV['TEST_3SCALE_APP_IDS'] &&
|
6
6
|
ENV['TEST_3SCALE_APP_KEYS']
|
7
|
-
class ThreeScale::RemoteTest < MiniTest::
|
7
|
+
class ThreeScale::RemoteTest < MiniTest::Test
|
8
8
|
def setup
|
9
9
|
@provider_key = ENV['TEST_3SCALE_PROVIDER_KEY']
|
10
10
|
|
@@ -82,7 +82,9 @@ if ENV['TEST_3SCALE_PROVIDER_KEY'] &&
|
|
82
82
|
|
83
83
|
def test_successful_report
|
84
84
|
transactions = @app_ids.map do |app_id|
|
85
|
-
{:app_id => app_id,
|
85
|
+
{:app_id => app_id,
|
86
|
+
:usage => {'hits' => 1},
|
87
|
+
:log => {:request => "a/a", :response => "b/b", :code => 200 }}
|
86
88
|
end
|
87
89
|
|
88
90
|
response = @client.report(*transactions)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: 3scale_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michal Cichra
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-12-
|
15
|
+
date: 2015-12-28 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: bundler
|