pwn 0.4.728 → 0.4.730

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: 51535ad690b0fbbba94bfff3e6cebb146d0ccd26b3a0a0d41188a8e8f81f3c27
4
- data.tar.gz: 8f22af77373b7fc376c6c439cf9501257b61fc481c715bb12d46bac5f82358d6
3
+ metadata.gz: e7ccbfda03fe5f76d3a1c43c7bd628330c0e9c4d757ab402beb87aa1f6237c95
4
+ data.tar.gz: 07762b592179600911181ba24343235292eb879cd6b0690b77cc22d75e27c9e8
5
5
  SHA512:
6
- metadata.gz: 110efb7bd81aaabf5b836116c0b61662e0c8f4730f42ffd75966d53321d67968ea2590541004269358e49b64214c8e90eeff5588afb71d5b8762b65eaa9ed9f6
7
- data.tar.gz: 183096b0d977646abe88a441abb0e1474968b0d4bfb2f8c130a6d62f7a06c02a0cf576bc9d50c2845bf1c9bcdf5da88981812f5288643349c04c25634c29219a
6
+ metadata.gz: 999906828628de7f537713a86a33a182897e1850762619c013d34cbda799af3eba0b14d27c257dbf8d13b10796431ea1afe78bc72ac385164c124ff12bc9ce78
7
+ data.tar.gz: 4f64da54f1a20cffb3c1fa2af71bb1c79c85a47073a7cdd0d6a49be7ae79bdc19fc8deb7aaab90ce9ac6b4986fe15df3dfff5f5bc6fce2a1d3eed01599cf609d
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.2.2@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.728]:001 >>> PWN.help
40
+ pwn[v0.4.730]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.2.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.728]:001 >>> PWN.help
55
+ pwn[v0.4.730]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -17,6 +17,7 @@ module PWN
17
17
  # http_method: 'optional HTTP method (defaults to GET)
18
18
  # rest_call: 'required rest call to make per the schema',
19
19
  # params: 'optional params passed in the URI or HTTP Headers',
20
+ # http_headers: 'optional HTTP headers sent in HTTP methods that support it e.g. POST'
20
21
  # http_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST'
21
22
  # )
22
23
 
@@ -42,78 +43,46 @@ module PWN
42
43
  spinner.auto_spin
43
44
 
44
45
  case http_method
45
- when :delete
46
+ when :delete, :get
47
+ headers = opts[:http_headers]
48
+ headers ||= {
49
+ content_type: content_type,
50
+ authorization: "Bearer #{token}",
51
+ params: params
52
+ }
46
53
  response = rest_client.execute(
47
- method: :delete,
54
+ method: http_method,
48
55
  url: "#{base_bd_bin_analysis_api_uri}/#{rest_call}",
49
- headers: {
50
- content_type: content_type,
51
- authorization: "Bearer #{token}",
52
- params: params
53
- },
54
- verify_ssl: false
55
- )
56
-
57
- when :get
58
- response = rest_client.execute(
59
- method: :get,
60
- url: "#{base_bd_bin_analysis_api_uri}/#{rest_call}",
61
- headers: {
62
- content_type: content_type,
63
- authorization: "Bearer #{token}",
64
- params: params
65
- },
56
+ headers: headers,
66
57
  verify_ssl: false
67
58
  )
68
59
 
69
- when :post
60
+ when :post, :put
61
+ headers = opts[:http_headers]
70
62
  if http_body.key?(:multipart)
63
+ headers ||= {
64
+ authorization: "Bearer #{token}"
65
+ }
71
66
  response = rest_client.execute(
72
67
  method: :post,
73
68
  url: "#{base_bd_bin_analysis_api_uri}/#{rest_call}",
74
- headers: {
75
- authorization: "Bearer #{token}"
76
- },
77
- payload: http_body,
78
- verify_ssl: false
79
- )
80
- else
81
- response = rest_client.execute(
82
- method: :post,
83
- url: "#{base_bd_bin_analysis_api_uri}/#{rest_call}",
84
- headers: {
85
- content_type: content_type,
86
- authorization: "Bearer #{token}"
87
- },
88
- payload: http_body.to_json,
89
- verify_ssl: false
90
- )
91
- end
92
-
93
- when :put
94
- if http_body.key?(:multipart)
95
- response = rest_client.execute(
96
- method: :put,
97
- url: "#{base_bd_bin_analysis_api_uri}/#{rest_call}",
98
- headers: {
99
- authorization: "Bearer #{token}"
100
- },
69
+ headers: headers,
101
70
  payload: http_body,
102
71
  verify_ssl: false
103
72
  )
104
73
  else
74
+ headers ||= {
75
+ content_type: content_type,
76
+ authorization: "Bearer #{token}"
77
+ }
105
78
  response = rest_client.execute(
106
- method: :post,
79
+ method: http2_method,
107
80
  url: "#{base_bd_bin_analysis_api_uri}/#{rest_call}",
108
- headers: {
109
- content_type: content_type,
110
- authorization: "Bearer #{token}"
111
- },
81
+ headers: headers,
112
82
  payload: http_body.to_json,
113
83
  verify_ssl: false
114
84
  )
115
85
  end
116
-
117
86
  else
118
87
  raise @@logger.error("Unsupported HTTP Method #{http_method} for #{self} Plugin")
119
88
  end
@@ -130,16 +99,16 @@ module PWN
130
99
  end
131
100
 
132
101
  # Supported Method Parameters::
133
- # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_groups(
102
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_apps(
134
103
  # token: 'required - Bearer token'
135
104
  # )
136
105
 
137
- public_class_method def self.get_groups(opts = {})
106
+ public_class_method def self.get_apps(opts = {})
138
107
  token = opts[:token]
139
108
 
140
109
  response = bd_bin_analysis_rest_call(
141
110
  token: token,
142
- rest_call: 'groups'
111
+ rest_call: 'apps'
143
112
  )
144
113
 
145
114
  JSON.parse(response, symbolize_names: true)
@@ -148,18 +117,18 @@ module PWN
148
117
  end
149
118
 
150
119
  # Supported Method Parameters::
151
- # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_group_details(
120
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_apps_by_group(
152
121
  # token: 'required - Bearer token',
153
122
  # group_id: 'required - group id'
154
123
  # )
155
124
 
156
- public_class_method def self.get_group_details(opts = {})
125
+ public_class_method def self.get_apps_by_group(opts = {})
157
126
  token = opts[:token]
158
127
  group_id = opts[:group_id]
159
128
 
160
129
  response = bd_bin_analysis_rest_call(
161
130
  token: token,
162
- rest_call: "groups/#{group_id}"
131
+ rest_call: "apps/#{group_id}"
163
132
  )
164
133
 
165
134
  JSON.parse(response, symbolize_names: true)
@@ -170,8 +139,7 @@ module PWN
170
139
  # Supported Method Parameters::
171
140
  # response = PWN::Plugins::BlackDuckBinaryAnalysis.upload_file(
172
141
  # token: 'required - Bearer token',
173
- # file: 'required - file to upload',
174
- # purpose: 'optional - intended purpose of the uploaded documents (defaults to fine-tune'
142
+ # file: 'required - file to upload'
175
143
  # )
176
144
 
177
145
  public_class_method def self.upload_file(opts = {})
@@ -179,19 +147,20 @@ module PWN
179
147
  file = opts[:file]
180
148
  raise "ERROR: #{file} not found." unless File.exist?(file)
181
149
 
182
- purpose = opts[:purpose]
183
- purpose ||= 'fine-tune'
150
+ http_headers = {
151
+ authorization: "Bearer #{token}"
152
+ }
184
153
 
185
154
  http_body = {
186
155
  multipart: true,
187
- file: File.new(file, 'rb'),
188
- purpose: purpose
156
+ file: File.new(file, 'rb')
189
157
  }
190
158
 
191
159
  response = bd_bin_analysis_rest_call(
192
160
  http_method: :post,
193
161
  token: token,
194
162
  rest_call: 'files',
163
+ http_headers: http_headers,
195
164
  http_body: http_body
196
165
  )
197
166
 
@@ -200,6 +169,311 @@ module PWN
200
169
  raise e
201
170
  end
202
171
 
172
+ # Supported Method Parameters::
173
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_tasks(
174
+ # token: 'required - Bearer token'
175
+ # )
176
+
177
+ public_class_method def self.get_tasks(opts = {})
178
+ token = opts[:token]
179
+
180
+ response = bd_bin_analysis_rest_call(
181
+ token: token,
182
+ rest_call: 'tasks'
183
+ )
184
+
185
+ JSON.parse(response, symbolize_names: true)
186
+ rescue StandardError => e
187
+ raise e
188
+ end
189
+
190
+ # Supported Method Parameters::
191
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_groups(
192
+ # token: 'required - Bearer token'
193
+ # )
194
+
195
+ public_class_method def self.get_groups(opts = {})
196
+ token = opts[:token]
197
+
198
+ response = bd_bin_analysis_rest_call(
199
+ token: token,
200
+ rest_call: 'groups'
201
+ )
202
+
203
+ JSON.parse(response, symbolize_names: true)
204
+ rescue StandardError => e
205
+ raise e
206
+ end
207
+
208
+ # Supported Method Parameters::
209
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.create_group(
210
+ # token: 'required - Bearer token',
211
+ # name: 'required - group name',
212
+ # desc: 'optional - group description',
213
+ # parent: 'optional - parent group id',
214
+ # delete_binary: 'optional - delete binary after analysis C|Y|N (Default: C== company default)',
215
+ # binary_cleanup_age: 'optional - after how long the binary will be deleted in seconds (Default: 604_800 / 1 week)',
216
+ # product_cleanup_age: 'optional - after how long the product will be deleted in seconds (Default: 604_800 / 1 week)',
217
+ # file_download_enabled: 'optional - allow download of uploaded binaries from group (Default: false),
218
+ # low_risk_tolerance: 'optional - low risk tolerance nil|true|false (Default: nil == company default)',
219
+ # include_historical_vulns: 'optional - include historical vulns nil|true|false (Default: nil == company default)',
220
+ # cvss3_fallback: 'optional - cvss3 fallback nil|true|false (Default: nil == company default)',
221
+ # assume_unknown_version_as_latest: 'optional - assume unknown version as latest nil|true|false (Default: nil == company default)',
222
+ # custom_data: 'optional - custom data hash (see group metadata for details)',
223
+ # scan_infoleak: 'optional - scan infoleak nil|true|false (Default: nil == company default)',
224
+ # code_analysis: 'optional - code analysis nil|true|false (Default: nil == company default)',
225
+ # scan_code_similarity: 'optional - scan code similarity nil|true|false (Default: nil == company default)'
226
+ # )
227
+
228
+ public_class_method def self.create_group(opts = {})
229
+ token = opts[:token]
230
+ name = opts[:name]
231
+ desc = opts[:desc]
232
+ parent = opts[:parent]
233
+ delete_binary = opts[:delete_binary] ||= 'C'
234
+ binary_cleanup_age = opts[:binary_cleanup_age] ||= 604_800
235
+ product_cleanup_age = opts[:product_cleanup_age] ||= 604_800
236
+ file_download_enabled = opts[:file_download_enabled] ||= false
237
+ low_risk_tolerance = opts[:low_risk_tolerance]
238
+ include_historical_vulns = opts[:include_historical_vulns]
239
+ cvss3_fallback = opts[:cvss3_fallback]
240
+ assume_unknown_version_as_latest = opts[:assume_unknown_version_as_latest]
241
+ custom_data = opts[:custom_data]
242
+ scan_infoleak = opts[:scan_infoleak]
243
+ code_analysis = opts[:code_analysis]
244
+ scan_code_similarity = opts[:scan_code_similarity]
245
+
246
+ http_headers = {
247
+ authorization: "Bearer #{token}",
248
+ name: name,
249
+ description: desc,
250
+ parent: parent,
251
+ delete_binary_after_scan: delete_binary,
252
+ binary_cleanup_age: binary_cleanup_age,
253
+ product_cleanup_age: product_cleanup_age,
254
+ file_download_enabled: file_download_enabled,
255
+ low_risk_tolerance: low_risk_tolerance,
256
+ include_historical_vulnerabilities: include_historical_vulns,
257
+ cvss3_fallback: cvss3_fallback,
258
+ assume_unknown_version_as_latest: assume_unknown_version_as_latest,
259
+ custom_data: custom_data,
260
+ scan_infoleak: scan_infoleak,
261
+ code_analysis: code_analysis,
262
+ scan_code_similarity: scan_code_similarity
263
+ }
264
+
265
+ response = bd_bin_analysis_rest_call(
266
+ http_method: :post,
267
+ token: token,
268
+ rest_call: 'groups',
269
+ http_headers: http_headers
270
+ )
271
+
272
+ JSON.parse(response, symbolize_names: true)
273
+ rescue StandardError => e
274
+ raise e
275
+ end
276
+
277
+ # Supported Method Parameters::
278
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_group_details(
279
+ # token: 'required - Bearer token',
280
+ # group_id: 'required - group id'
281
+ # )
282
+
283
+ public_class_method def self.get_group_details(opts = {})
284
+ token = opts[:token]
285
+ group_id = opts[:group_id]
286
+
287
+ response = bd_bin_analysis_rest_call(
288
+ token: token,
289
+ rest_call: "groups/#{group_id}"
290
+ )
291
+
292
+ JSON.parse(response, symbolize_names: true)
293
+ rescue StandardError => e
294
+ raise e
295
+ end
296
+
297
+ # Supported Method Parameters::
298
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_licenses(
299
+ # token: 'required - Bearer token'
300
+ # )
301
+
302
+ public_class_method def self.get_licenses(opts = {})
303
+ token = opts[:token]
304
+
305
+ response = bd_bin_analysis_rest_call(
306
+ token: token,
307
+ rest_call: 'licenses'
308
+ )
309
+
310
+ JSON.parse(response, symbolize_names: true)
311
+ rescue StandardError => e
312
+ raise e
313
+ end
314
+
315
+ # Supported Method Parameters::
316
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_component_licenses(
317
+ # token: 'required - Bearer token'
318
+ # )
319
+
320
+ public_class_method def self.get_component_licenses(opts = {})
321
+ token = opts[:token]
322
+
323
+ response = bd_bin_analysis_rest_call(
324
+ token: token,
325
+ rest_call: 'component-licenses'
326
+ )
327
+
328
+ JSON.parse(response, symbolize_names: true)
329
+ rescue StandardError => e
330
+ raise e
331
+ end
332
+
333
+ # Supported Method Parameters::
334
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_tags(
335
+ # token: 'required - Bearer token'
336
+ # )
337
+
338
+ public_class_method def self.get_tags(opts = {})
339
+ token = opts[:token]
340
+
341
+ response = bd_bin_analysis_rest_call(
342
+ token: token,
343
+ rest_call: 'tags'
344
+ )
345
+
346
+ JSON.parse(response, symbolize_names: true)
347
+ rescue StandardError => e
348
+ raise e
349
+ end
350
+
351
+ # Supported Method Parameters::
352
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_vulnerabilities(
353
+ # token: 'required - Bearer token'
354
+ # )
355
+
356
+ public_class_method def self.get_vulnerabilities(opts = {})
357
+ token = opts[:token]
358
+
359
+ response = bd_bin_analysis_rest_call(
360
+ token: token,
361
+ rest_call: 'vulnerabilities'
362
+ )
363
+
364
+ JSON.parse(response, symbolize_names: true)
365
+ rescue StandardError => e
366
+ raise e
367
+ end
368
+
369
+ # Supported Method Parameters::
370
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_components(
371
+ # token: 'required - Bearer token'
372
+ # )
373
+
374
+ public_class_method def self.get_components(opts = {})
375
+ token = opts[:token]
376
+
377
+ response = bd_bin_analysis_rest_call(
378
+ token: token,
379
+ rest_call: 'components'
380
+ )
381
+
382
+ JSON.parse(response, symbolize_names: true)
383
+ rescue StandardError => e
384
+ raise e
385
+ end
386
+
387
+ # Supported Method Parameters::
388
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_vendor_vulns(
389
+ # token: 'required - Bearer token'
390
+ # )
391
+
392
+ public_class_method def self.get_vendor_vulns(opts = {})
393
+ token = opts[:token]
394
+
395
+ response = bd_bin_analysis_rest_call(
396
+ token: token,
397
+ rest_call: 'teacher/api/vulns'
398
+ )
399
+
400
+ JSON.parse(response, symbolize_names: true)
401
+ rescue StandardError => e
402
+ raise e
403
+ end
404
+
405
+ # Supported Method Parameters::
406
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_audit_trail(
407
+ # token: 'required - Bearer token'
408
+ # )
409
+
410
+ public_class_method def self.get_audit_trail(opts = {})
411
+ token = opts[:token]
412
+
413
+ response = bd_bin_analysis_rest_call(
414
+ token: token,
415
+ rest_call: 'audit-trail'
416
+ )
417
+
418
+ JSON.parse(response, symbolize_names: true)
419
+ rescue StandardError => e
420
+ raise e
421
+ end
422
+
423
+ # Supported Method Parameters::
424
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_status(
425
+ # token: 'required - Bearer token'
426
+ # )
427
+
428
+ public_class_method def self.get_status(opts = {})
429
+ token = opts[:token]
430
+
431
+ response = bd_bin_analysis_rest_call(
432
+ token: token,
433
+ rest_call: 'status'
434
+ )
435
+
436
+ JSON.parse(response, symbolize_names: true)
437
+ rescue StandardError => e
438
+ raise e
439
+ end
440
+
441
+ # Supported Method Parameters::
442
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_service_info(
443
+ # token: 'required - Bearer token'
444
+ # )
445
+
446
+ public_class_method def self.get_service_info(opts = {})
447
+ token = opts[:token]
448
+
449
+ response = bd_bin_analysis_rest_call(
450
+ token: token,
451
+ rest_call: 'service/info'
452
+ )
453
+
454
+ JSON.parse(response, symbolize_names: true)
455
+ rescue StandardError => e
456
+ raise e
457
+ end
458
+
459
+ # Supported Method Parameters::
460
+ # response = PWN::Plugins::BlackDuckBinaryAnalysis.get_service_version(
461
+ # token: 'required - Bearer token'
462
+ # )
463
+
464
+ public_class_method def self.get_service_version(opts = {})
465
+ token = opts[:token]
466
+
467
+ response = bd_bin_analysis_rest_call(
468
+ token: token,
469
+ rest_call: 'service/version'
470
+ )
471
+
472
+ JSON.parse(response, symbolize_names: true)
473
+ rescue StandardError => e
474
+ raise e
475
+ end
476
+
203
477
  # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
204
478
 
205
479
  public_class_method def self.authors
@@ -212,18 +486,90 @@ module PWN
212
486
 
213
487
  public_class_method def self.help
214
488
  puts "USAGE:
489
+ response = #{self}.get_apps(
490
+ token: 'required - Bearer token'
491
+ )
492
+
493
+ response = #{self}.upload_file(
494
+ token: 'required - Black Duck Binary Analysis API token',
495
+ file: 'required - file to upload'
496
+ )
497
+
498
+ response = #{self}.get_tasks(
499
+ token: 'required - Bearer token'
500
+ )
501
+
502
+ response = #{self}.get_apps_by_group(
503
+ token: 'required - Bearer token',
504
+ group_id: 'required - group id'
505
+ )
506
+
215
507
  response = #{self}.get_groups(
216
508
  token: 'required - Bearer token'
217
509
  )
218
510
 
511
+ response = #{self}.create_group(
512
+ token: 'required - Bearer token',
513
+ name: 'required - group name',
514
+ desc: 'optional - group description',
515
+ parent: 'optional - parent group id',
516
+ delete_binary: 'optional - delete binary after analysis C|Y|N (Default: C== company default)',
517
+ binary_cleanup_age: 'optional - after how long the binary will be deleted in seconds (Default: 604_800 / 1 week)',
518
+ product_cleanup_age: 'optional - after how long the product will be deleted in seconds (Default: 604_800 / 1 week)',
519
+ file_download_enabled: 'optional - allow download of uploaded binaries from group (Default: false),
520
+ low_risk_tolerance: 'optional - low risk tolerance nil|true|false (Default: nil == company default)',
521
+ include_historical_vulns: 'optional - include historical vulns nil|true|false (Default: nil == company default)',
522
+ cvss3_fallback: 'optional - cvss3 fallback nil|true|false (Default: nil == company default)',
523
+ assume_unknown_version_as_latest: 'optional - assume unknown version as latest nil|true|false (Default: nil == company default)',
524
+ custom_data: 'optional - custom data hash (see group metadata for details)',
525
+ scan_infoleak: 'optional - scan infoleak nil|true|false (Default: nil == company default)',
526
+ code_analysis: 'optional - code analysis nil|true|false (Default: nil == company default)',
527
+ scan_code_similarity: 'optional - scan code similarity nil|true|false (Default: nil == company default)'
528
+ )
529
+
219
530
  response = #{self}.get_group_details(
220
531
  token: 'required - Bearer token',
221
532
  group_id: 'required - group id'
222
533
  )
223
534
 
224
- response = #{self}.upload_file(
225
- token: 'required - Black Duck Binary Analysis API token',
226
- file: 'required - file to upload'
535
+ response = #{self}.get_licenses(
536
+ token: 'required - Bearer token'
537
+ )
538
+
539
+ response = #{self}.get_component_licenses(
540
+ token: 'required - Bearer token'
541
+ )
542
+
543
+ response = #{self}.get_tags(
544
+ token: 'required - Bearer token'
545
+ )
546
+
547
+ response = #{self}.get_vulnerabilities(
548
+ token: 'required - Bearer token'
549
+ )
550
+
551
+ response = #{self}.get_components(
552
+ token: 'required - Bearer token'
553
+ )
554
+
555
+ response = #{self}.get_vendor_vulns(
556
+ token: 'required - Bearer token'
557
+ )
558
+
559
+ response = #{self}.get_audit_trail(
560
+ token: 'required - Bearer token'
561
+ )
562
+
563
+ response = #{self}.get_status(
564
+ token: 'required - Bearer token'
565
+ )
566
+
567
+ response = #{self}.get_service_info(
568
+ token: 'required - Bearer token'
569
+ )
570
+
571
+ response = #{self}.get_service_version(
572
+ token: 'required - Bearer token'
227
573
  )
228
574
 
229
575
  #{self}.authors
@@ -42,21 +42,9 @@ module PWN
42
42
  spinner.auto_spin
43
43
 
44
44
  case http_method
45
- when :delete
45
+ when :delete, :get
46
46
  response = rest_client.execute(
47
- method: :delete,
48
- url: "#{base_open_ai_api_uri}/#{rest_call}",
49
- headers: {
50
- content_type: content_type,
51
- authorization: "Bearer #{token}",
52
- params: params
53
- },
54
- verify_ssl: false
55
- )
56
-
57
- when :get
58
- response = rest_client.execute(
59
- method: :get,
47
+ method: http2_method,
60
48
  url: "#{base_open_ai_api_uri}/#{rest_call}",
61
49
  headers: {
62
50
  content_type: content_type,
@@ -69,7 +57,7 @@ module PWN
69
57
  when :post
70
58
  if http_body.key?(:multipart)
71
59
  response = rest_client.execute(
72
- method: :post,
60
+ method: http_method,
73
61
  url: "#{base_open_ai_api_uri}/#{rest_call}",
74
62
  headers: {
75
63
  authorization: "Bearer #{token}"
@@ -79,7 +67,7 @@ module PWN
79
67
  )
80
68
  else
81
69
  response = rest_client.execute(
82
- method: :post,
70
+ method: http_method,
83
71
  url: "#{base_open_ai_api_uri}/#{rest_call}",
84
72
  headers: {
85
73
  content_type: content_type,
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.728'
4
+ VERSION = '0.4.730'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.728
4
+ version: 0.4.730
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-14 00:00:00.000000000 Z
11
+ date: 2023-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport