puppet-blacksmith 9.0.0 → 9.1.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
2
  SHA256:
3
- metadata.gz: de9f91ff54da5b285ec0b3a80e6dd5af0106a303b01bdd0d49d25f5c8ab3b7e1
4
- data.tar.gz: 78cbb66ab52acef8ce535bb8dfe62c39207772d600cf8ad65108a8a9fb846cf7
3
+ metadata.gz: 2cb0f832fbc4cb63388a53a880ece21d137ab49718cd968193d390169ddd704a
4
+ data.tar.gz: '039a6298f6138fa3ca876525e14c9a1ab660433677950d48702842bf8f8a3118'
5
5
  SHA512:
6
- metadata.gz: 1930c90d9db66bb94c9da46b1b516d5ab8bfa78b04c51ee7e814c4fe52cb9b9ad9fe6c2a34f7b3c57db92013e44e57f86006c60b3897d48fd0f4cd060cd88a06
7
- data.tar.gz: 2e621a1f6a129493554eeec16dee86015e4cd8f14d53d7cf0e3cd81f51f7a06ac263a2f26caa8bc767f0e8ab7e8318f9a80c2c82730869a8daa3d1435efac0da
6
+ metadata.gz: 99c63a7ef2616f6821afda84e1eb3d9f607d7b7f0846c6331ebafc7e0911a221dbcbac64fd636a7a24bb0ebafe052c539b7b96a76f9cbf98b62d5f3a2997a6a4
7
+ data.tar.gz: 280f703023efd74391501d19c74d1c1e965957f12aca516d52fa589b8e014f1bca00b297399d0b7033bfa69d524fba42383528351332555d64cee2529c62c538
@@ -1,7 +1,8 @@
1
- require 'rest-client'
1
+ require 'net/http'
2
2
  require 'json'
3
3
  require 'yaml'
4
4
  require 'base64'
5
+ require 'uri'
5
6
 
6
7
  module Blacksmith
7
8
  class Forge
@@ -21,7 +22,6 @@ module Blacksmith
21
22
  self.password = password
22
23
  self.token = token
23
24
  self.api_key = api_key
24
- RestClient.proxy = ENV.fetch('http_proxy', nil)
25
25
  load_credentials
26
26
  self.url = url unless url.nil?
27
27
  if %r{http(s)?://forge.puppetlabs.com}.match?(self.url)
@@ -51,15 +51,32 @@ module Blacksmith
51
51
  private
52
52
 
53
53
  def upload(author, name, file)
54
- url = http_url(author, name, file)
55
- case forge_type
56
- when FORGE_TYPE_ARTIFACTORY
57
- RestClient::Request.execute(method: :put, url: url, payload: File.new(file, 'rb'), headers: http_headers)
58
- else
59
- RestClient::Request.execute(method: :post, url: url, payload: { file: File.new(file, 'rb') }, headers: http_headers)
54
+ target_url = http_url(author, name, file)
55
+ uri = URI(target_url)
56
+
57
+ http = Net::HTTP.new(uri.host, uri.port)
58
+ http.use_ssl = (uri.scheme == 'https')
59
+
60
+ response = File.open(file, 'rb') do |f|
61
+ if forge_type == FORGE_TYPE_ARTIFACTORY
62
+ request = Net::HTTP::Put.new(uri.request_uri, http_headers)
63
+ request.body_stream = f
64
+ else
65
+ request = Net::HTTP::Post.new(uri.request_uri, http_headers)
66
+ request.set_form([
67
+ ['file', f, { filename: File.basename(file) }],
68
+ ], 'multipart/form-data')
69
+ end
70
+ http.request(request)
60
71
  end
61
- rescue RestClient::Exception => e
62
- raise Blacksmith::Error, "Error uploading #{name} to the forge #{url} [#{e.message}]: #{e.response}"
72
+
73
+ raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{response.code} #{response.message}]: #{response.body}" unless response.is_a?(Net::HTTPSuccess)
74
+ rescue Net::HTTPClientException => e
75
+ raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{e.response.code} #{e.response.message}]: #{e.response.body}"
76
+ rescue Net::HTTPFatalError => e
77
+ raise Blacksmith::Error, "HTTP error during upload: #{e.message}"
78
+ rescue StandardError => e
79
+ raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{e.class} #{e.message}]"
63
80
  end
64
81
 
65
82
  def http_url(author, name, file)
@@ -1,3 +1,3 @@
1
1
  module Blacksmith
2
- VERSION = '9.0.0'
2
+ VERSION = '9.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-blacksmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.0
4
+ version: 9.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - MaestroDev
@@ -50,20 +50,6 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 2.0.2
53
- - !ruby/object:Gem::Dependency
54
- name: rest-client
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '2.0'
60
- type: :runtime
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '2.0'
67
53
  - !ruby/object:Gem::Dependency
68
54
  name: aruba
69
55
  requirement: !ruby/object:Gem::Requirement
@@ -138,14 +124,14 @@ dependencies:
138
124
  requirements:
139
125
  - - "~>"
140
126
  - !ruby/object:Gem::Version
141
- version: 4.2.0
127
+ version: 5.1.0
142
128
  type: :development
143
129
  prerelease: false
144
130
  version_requirements: !ruby/object:Gem::Requirement
145
131
  requirements:
146
132
  - - "~>"
147
133
  - !ruby/object:Gem::Version
148
- version: 4.2.0
134
+ version: 5.1.0
149
135
  - !ruby/object:Gem::Dependency
150
136
  name: webmock
151
137
  requirement: !ruby/object:Gem::Requirement
@@ -196,14 +182,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
196
182
  version: 3.2.0
197
183
  - - "<"
198
184
  - !ruby/object:Gem::Version
199
- version: '4'
185
+ version: '5'
200
186
  required_rubygems_version: !ruby/object:Gem::Requirement
201
187
  requirements:
202
188
  - - ">="
203
189
  - !ruby/object:Gem::Version
204
190
  version: '0'
205
191
  requirements: []
206
- rubygems_version: 3.6.9
192
+ rubygems_version: 4.0.3
207
193
  specification_version: 4
208
194
  summary: Tasks to manage Puppet module builds
209
195
  test_files: []