nice_http 1.8.6 → 1.8.7
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/README.md +4 -1
- data/lib/nice_http.rb +21 -5
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d4be3fb22aecfd4d84cb2c9384da399cf7a521742bba214f5e2746491120f4b
|
4
|
+
data.tar.gz: c2a143357e458385078c5e6709100d06ae473f7363282eb9c36c766618631dcf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e752817f9ca1b87b944904435c2a507b41cc8c76e0744ff10a4db1f21ea7009a75255d97b45d6a381cd7f1ed30d91ef1fc46371fb935e6cd18482df3867f693
|
7
|
+
data.tar.gz: 6269a98fa4e85bf2a9b13069d279bd58f184267b5b38342a1aa5c3cfbe855207bbacb94b91f5f22e2735426fc726326be381edaab27229f943455569ce157e3d
|
data/README.md
CHANGED
@@ -122,6 +122,7 @@ NiceHttp.defaults = {
|
|
122
122
|
host: 'reqres.in',
|
123
123
|
ssl: true,
|
124
124
|
port: 443,
|
125
|
+
timeout: 15, #seconds
|
125
126
|
debug: false,
|
126
127
|
log: "./my_logs.log",
|
127
128
|
headers: {"api-key": "the api key"}
|
@@ -289,6 +290,8 @@ Also interesting keys would be: *time_elapsed_total*, *time_elapsed* and many mo
|
|
289
290
|
|
290
291
|
*auto_redirect*: (true or false) in case of true it will take care of the auto redirections.
|
291
292
|
|
293
|
+
*timeout*: Integer that will set a time out for the time waiting to connect to a host or waiting for a response.
|
294
|
+
|
292
295
|
## Authentication requests
|
293
296
|
|
294
297
|
All we need to do is to add to our request the correct authentication tokens, seeds, headers.
|
@@ -584,7 +587,7 @@ threads = []
|
|
584
587
|
end
|
585
588
|
end
|
586
589
|
|
587
|
-
|
590
|
+
threads.each(&:join)
|
588
591
|
|
589
592
|
# log files: nice_http_0.log, nice_http_1.log... nice_http_39.log
|
590
593
|
```
|
data/lib/nice_http.rb
CHANGED
@@ -7,13 +7,14 @@ require_relative "nice_http/http_methods"
|
|
7
7
|
|
8
8
|
######################################################
|
9
9
|
# Attributes you can access using NiceHttp.the_attribute:
|
10
|
-
# :host, :port, :ssl, :headers, :debug, :log, :log_headers, :proxy_host, :proxy_port,
|
10
|
+
# :host, :port, :ssl, :timeout, :headers, :debug, :log, :log_headers, :proxy_host, :proxy_port,
|
11
11
|
# :last_request, :last_response, :request_id, :use_mocks, :connections,
|
12
12
|
# :active, :auto_redirect, :values_for, :create_stats, :stats, :capture, :captured, :request, :requests
|
13
13
|
#
|
14
14
|
# @attr [String] host The host to be accessed
|
15
15
|
# @attr [Integer] port The port number
|
16
16
|
# @attr [Boolean] ssl If you use ssl or not
|
17
|
+
# @attr [Integer] timeout Max time to wait until connected to the host or getting a response.
|
17
18
|
# @attr [Hash] headers Contains the headers you will be using on your connection
|
18
19
|
# @attr [Boolean] debug In case true shows all the details of the communication with the host
|
19
20
|
# @attr [String] log_path The path where the logs will be stored. By default empty string.
|
@@ -71,7 +72,7 @@ class NiceHttp
|
|
71
72
|
end
|
72
73
|
|
73
74
|
class << self
|
74
|
-
attr_accessor :host, :port, :ssl, :headers, :debug, :log_path, :log, :proxy_host, :proxy_port, :log_headers,
|
75
|
+
attr_accessor :host, :port, :ssl, :timeout, :headers, :debug, :log_path, :log, :proxy_host, :proxy_port, :log_headers,
|
75
76
|
:last_request, :last_response, :request, :request_id, :use_mocks, :connections,
|
76
77
|
:active, :auto_redirect, :log_files, :values_for, :create_stats, :stats, :capture, :captured, :requests
|
77
78
|
end
|
@@ -89,6 +90,7 @@ class NiceHttp
|
|
89
90
|
@host = nil
|
90
91
|
@port = 80
|
91
92
|
@ssl = false
|
93
|
+
@timeout = nil
|
92
94
|
@headers = {}
|
93
95
|
@values_for = {}
|
94
96
|
@debug = false
|
@@ -137,18 +139,19 @@ class NiceHttp
|
|
137
139
|
subclass.reset!
|
138
140
|
end
|
139
141
|
|
140
|
-
attr_reader :host, :port, :ssl, :debug, :log, :log_path, :proxy_host, :proxy_port, :response, :num_redirects
|
142
|
+
attr_reader :host, :port, :ssl, :timeout, :debug, :log, :log_path, :proxy_host, :proxy_port, :response, :num_redirects
|
141
143
|
attr_accessor :headers, :cookies, :use_mocks, :auto_redirect, :logger, :values_for, :log_headers
|
142
144
|
|
143
145
|
######################################################
|
144
146
|
# Change the default values for NiceHttp supplying a Hash
|
145
147
|
#
|
146
|
-
# @param par [Hash] keys: :host, :port, :ssl, :headers, :debug, :log, :log_path, :proxy_host, :proxy_port, :use_mocks, :auto_redirect, :values_for, :create_stats, :log_headers, :capture
|
148
|
+
# @param par [Hash] keys: :host, :port, :ssl, :timeout, :headers, :debug, :log, :log_path, :proxy_host, :proxy_port, :use_mocks, :auto_redirect, :values_for, :create_stats, :log_headers, :capture
|
147
149
|
######################################################
|
148
150
|
def self.defaults=(par = {})
|
149
151
|
@host = par[:host] if par.key?(:host)
|
150
152
|
@port = par[:port] if par.key?(:port)
|
151
153
|
@ssl = par[:ssl] if par.key?(:ssl)
|
154
|
+
@timeout = par[:timeout] if par.key?(:timeout)
|
152
155
|
@headers = par[:headers].dup if par.key?(:headers)
|
153
156
|
@values_for = par[:values_for].dup if par.key?(:values_for)
|
154
157
|
@debug = par[:debug] if par.key?(:debug)
|
@@ -300,6 +303,7 @@ class NiceHttp
|
|
300
303
|
# host -- example.com. (default blank screen)
|
301
304
|
# port -- port for the connection. 80 (default)
|
302
305
|
# ssl -- true, false (default)
|
306
|
+
# timeout -- integer or nil (default)
|
303
307
|
# headers -- hash with the headers
|
304
308
|
# values_for -- hash with the values_for
|
305
309
|
# debug -- true, false (default)
|
@@ -327,6 +331,7 @@ class NiceHttp
|
|
327
331
|
@port = self.class.port
|
328
332
|
@prepath = ""
|
329
333
|
@ssl = self.class.ssl
|
334
|
+
@timeout = self.class.timeout
|
330
335
|
@headers = self.class.headers.dup
|
331
336
|
@values_for = self.class.values_for.dup
|
332
337
|
@debug = self.class.debug
|
@@ -357,6 +362,7 @@ class NiceHttp
|
|
357
362
|
@host = args[:host] if args.keys.include?(:host)
|
358
363
|
@port = args[:port] if args.keys.include?(:port)
|
359
364
|
@ssl = args[:ssl] if args.keys.include?(:ssl)
|
365
|
+
@timeout = args[:timeout] if args.keys.include?(:timeout)
|
360
366
|
@headers = args[:headers].dup if args.keys.include?(:headers)
|
361
367
|
@values_for = args[:values_for].dup if args.keys.include?(:values_for)
|
362
368
|
@debug = args[:debug] if args.keys.include?(:debug)
|
@@ -452,6 +458,7 @@ class NiceHttp
|
|
452
458
|
raise InfoMissing, :port if @port.to_s == ""
|
453
459
|
raise InfoMissing, :host if @host.to_s == ""
|
454
460
|
raise InfoMissing, :ssl unless @ssl.is_a?(TrueClass) or @ssl.is_a?(FalseClass)
|
461
|
+
raise InfoMissing, :timeout unless @timeout.is_a?(Integer) or @timeout.nil?
|
455
462
|
raise InfoMissing, :debug unless @debug.is_a?(TrueClass) or @debug.is_a?(FalseClass)
|
456
463
|
raise InfoMissing, :auto_redirect unless auto_redirect.is_a?(TrueClass) or auto_redirect.is_a?(FalseClass)
|
457
464
|
raise InfoMissing, :use_mocks unless @use_mocks.is_a?(TrueClass) or @use_mocks.is_a?(FalseClass)
|
@@ -465,18 +472,26 @@ class NiceHttp
|
|
465
472
|
@http.use_ssl = @ssl
|
466
473
|
@http.set_debug_output $stderr if @debug
|
467
474
|
@http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
475
|
+
unless @timeout.nil?
|
476
|
+
@http.open_timeout = @timeout
|
477
|
+
@http.read_timeout = @timeout
|
478
|
+
end
|
468
479
|
@http.start
|
469
480
|
else
|
470
481
|
@http = Net::HTTP.new(@host, @port)
|
471
482
|
@http.use_ssl = @ssl
|
472
483
|
@http.set_debug_output $stderr if @debug
|
473
484
|
@http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
485
|
+
unless @timeout.nil?
|
486
|
+
@http.open_timeout = @timeout
|
487
|
+
@http.read_timeout = @timeout
|
488
|
+
end
|
474
489
|
@http.start
|
475
490
|
end
|
476
491
|
|
477
492
|
@message_server = "(#{self.object_id}):"
|
478
493
|
|
479
|
-
log_message = "(#{self.object_id}): Http connection created. host:#{@host}, port:#{@port}, ssl:#{@ssl}, mode:#{@mode}, proxy_host: #{@proxy_host.to_s()}, proxy_port: #{@proxy_port.to_s()} "
|
494
|
+
log_message = "(#{self.object_id}): Http connection created. host:#{@host}, port:#{@port}, ssl:#{@ssl}, timeout:#{@timeout}, mode:#{@mode}, proxy_host: #{@proxy_host.to_s()}, proxy_port: #{@proxy_port.to_s()} "
|
480
495
|
|
481
496
|
@logger.info(log_message)
|
482
497
|
@message_server += " Http connection: "
|
@@ -499,6 +514,7 @@ class NiceHttp
|
|
499
514
|
rescue Exception => stack
|
500
515
|
puts stack
|
501
516
|
@logger.fatal stack
|
517
|
+
raise stack
|
502
518
|
end
|
503
519
|
end
|
504
520
|
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nice_http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mario Ruiz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nice_hash
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.15'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.
|
19
|
+
version: '1.17'
|
20
|
+
- - "~>"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '1.17'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '1.15'
|
30
27
|
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
29
|
+
version: '1.17'
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.17'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rspec
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|