pubcontrol 1.2.2 → 1.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4b9acb9f662add796ae6a9c50f443d78a1f3e816
4
- data.tar.gz: 98ea186dc40416de654b73961a8b4e6f79e5c9a6
2
+ SHA256:
3
+ metadata.gz: f090ee8b6fea8ce3141240d269550dddd1e1ad44ac852523548ac4350eea37e1
4
+ data.tar.gz: 7846f51731e82a8bf5553777202f0ec4e6a67457b04c07bc684ed46e2b7d0403
5
5
  SHA512:
6
- metadata.gz: 1e21be3f8446e305ad94c49696af4a64f465d7f841b008e15d486c5178dd292d5c89f4c1b76e4601107feb02ac7783e5febc1e7334e37fb883969b626c99ebff
7
- data.tar.gz: c552a968df981193225e20b1d66e2dbe92c96265ab8f095d91389c8593d47ca6f9de0f896e5c3cb9ee45628f697adeec7c5264290c509bc1efc9970c7eaf8bdd
6
+ metadata.gz: 9ec5f93e56eedf2f7b18af0e5fbd3fd6d4d770470c83b90c1637a0b48ddbf9c823e26c8b708a4c9d953acadea5b0dd2be6322656a5518f9a817386e44880ff46
7
+ data.tar.gz: db16ff82c0e643042b5262449f20d43ce3ed731677853344d83e46b041267a13195d39878bf6ea09a135d15fab5b4b325efd86e220391b102cec46d166eea0e9
data/lib/pubcontrol.rb CHANGED
@@ -63,6 +63,8 @@ class PubControl
63
63
  pub = PubControlClient.new(entry['uri'])
64
64
  if entry.key?('iss')
65
65
  pub.set_auth_jwt({'iss' => entry['iss']}, entry['key'])
66
+ elsif entry.key?('key')
67
+ pub.set_auth_bearer(entry['key'])
66
68
  end
67
69
  @clients.push(pub)
68
70
  end
@@ -34,6 +34,7 @@ class PubControlClient
34
34
  @auth_basic_pass = nil
35
35
  @auth_jwt_claim = nil
36
36
  @auth_jwt_key = nil
37
+ @auth_bearer_key = nil
37
38
  @http = Net::HTTP::Persistent.new @object_id.to_s
38
39
  @http.open_timeout = 10
39
40
  @http.read_timeout = 10
@@ -57,6 +58,14 @@ class PubControlClient
57
58
  end
58
59
  end
59
60
 
61
+ # Call this method and pass a key to use bearer authenticate
62
+ # with the configured endpoint
63
+ def set_auth_bearer(key)
64
+ @lock.synchronize do
65
+ @auth_bearer_key = key
66
+ end
67
+ end
68
+
60
69
  # The synchronous publish method for publishing the specified item to the
61
70
  # specified channels on the configured endpoint.
62
71
  def publish(channels, item)
@@ -131,7 +140,10 @@ class PubControlClient
131
140
  # data to the endpoint. This method accepts the URI endpoint, authorization
132
141
  # header, and a list of items to publish.
133
142
  def pubcall(uri, auth_header, items)
134
- uri = URI(uri + '/publish/')
143
+ if uri.to_s[-1] != '/'
144
+ uri = uri.to_s + '/'
145
+ end
146
+ uri = URI(uri + 'publish/')
135
147
  content = Hash.new
136
148
  content['items'] = items
137
149
  request = Net::HTTP::Post.new(uri.request_uri)
@@ -143,7 +155,7 @@ class PubControlClient
143
155
  response = make_http_request(uri, request)
144
156
  if !response.kind_of? Net::HTTPSuccess
145
157
  raise 'failed to publish: ' + response.class.to_s + ' ' +
146
- response.message
158
+ response.message + ' ' + response.body.dump
147
159
  end
148
160
  end
149
161
 
@@ -235,6 +247,8 @@ class PubControlClient
235
247
  claim = @auth_jwt_claim
236
248
  end
237
249
  return 'Bearer ' + JWT.encode(claim, @auth_jwt_key)
250
+ elsif !@auth_bearer_key.nil?
251
+ return 'Bearer ' + @auth_bearer_key
238
252
  else
239
253
  return nil
240
254
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pubcontrol
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Bokarius
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-07 00:00:00.000000000 Z
11
+ date: 2023-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: algorithms
@@ -82,8 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  requirements: []
85
- rubyforge_project:
86
- rubygems_version: 2.4.5
85
+ rubygems_version: 3.0.3.1
87
86
  signing_key:
88
87
  specification_version: 4
89
88
  summary: Ruby EPCP library