http_logger 0.5.1 → 0.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 +5 -5
- data/Gemfile +2 -3
- data/Gemfile.lock +63 -56
- data/Readme.md +1 -0
- data/VERSION +1 -1
- data/http_logger.gemspec +28 -28
- data/lib/http_logger.rb +33 -31
- data/spec/http_logger_spec.rb +22 -10
- data/spec/spec_helper.rb +3 -4
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 2ee612be76637a3fa5e75db03b7fa33a7016d3b4f509c32295580e002df73bd2
|
|
4
|
+
data.tar.gz: f7ef81b6d4c9d61dfa37626794a6bb725c1e83b36b29d824bf70bd5215bfb4e8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9d81717a77786fb2bffb89c9cce68bc1f9ef8c6d4f2960a945324db0c53831cd8c78643e3c21779f1250cf862e2dcaa5a3d6610eb5fb934c2a15ed296225c416
|
|
7
|
+
data.tar.gz: 90132a5f50f91d39542f255680e577bd755254815df1f5332d71c73db76eadc2862a30d9b43dfc04e6cb50ce7aea30dc5143997c41a3c3cff07616eea342b285
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,79 +1,86 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: http://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
addressable (2.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
columnize (>= 0.3.1)
|
|
10
|
-
debugger-linecache (~> 1.1.1)
|
|
11
|
-
debugger-ruby_core_source (~> 1.1.4)
|
|
12
|
-
debugger-linecache (1.1.2)
|
|
13
|
-
debugger-ruby_core_source (>= 1.1.1)
|
|
14
|
-
debugger-ruby_core_source (1.1.4)
|
|
4
|
+
addressable (2.4.0)
|
|
5
|
+
builder (3.2.4)
|
|
6
|
+
byebug (11.1.1)
|
|
7
|
+
crack (0.4.3)
|
|
8
|
+
safe_yaml (~> 1.0.0)
|
|
15
9
|
descendants_tracker (0.0.4)
|
|
16
10
|
thread_safe (~> 0.3, >= 0.3.1)
|
|
17
|
-
diff-lcs (1.
|
|
18
|
-
|
|
19
|
-
faraday (0.9.0)
|
|
11
|
+
diff-lcs (1.3)
|
|
12
|
+
faraday (0.9.2)
|
|
20
13
|
multipart-post (>= 1.2, < 3)
|
|
21
|
-
git (1.
|
|
22
|
-
github_api (0.
|
|
23
|
-
addressable (~> 2.
|
|
24
|
-
descendants_tracker (~> 0.0.
|
|
14
|
+
git (1.5.0)
|
|
15
|
+
github_api (0.16.0)
|
|
16
|
+
addressable (~> 2.4.0)
|
|
17
|
+
descendants_tracker (~> 0.0.4)
|
|
25
18
|
faraday (~> 0.8, < 0.10)
|
|
26
|
-
hashie (>=
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
hashie (
|
|
31
|
-
highline (
|
|
32
|
-
jeweler (2.
|
|
19
|
+
hashie (>= 3.4)
|
|
20
|
+
mime-types (>= 1.16, < 3.0)
|
|
21
|
+
oauth2 (~> 1.0)
|
|
22
|
+
hashdiff (1.0.0)
|
|
23
|
+
hashie (4.0.0)
|
|
24
|
+
highline (2.0.3)
|
|
25
|
+
jeweler (2.3.9)
|
|
33
26
|
builder
|
|
34
|
-
bundler
|
|
27
|
+
bundler
|
|
35
28
|
git (>= 1.2.5)
|
|
36
|
-
github_api
|
|
29
|
+
github_api (~> 0.16.0)
|
|
37
30
|
highline (>= 1.6.15)
|
|
38
31
|
nokogiri (>= 1.5.10)
|
|
32
|
+
psych
|
|
39
33
|
rake
|
|
40
34
|
rdoc
|
|
41
|
-
|
|
42
|
-
jwt (
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
multi_json (1.
|
|
46
|
-
multi_xml (0.
|
|
47
|
-
multipart-post (2.
|
|
48
|
-
nokogiri (1.
|
|
49
|
-
|
|
50
|
-
oauth2 (
|
|
51
|
-
faraday (>= 0.8, < 0
|
|
52
|
-
jwt (
|
|
35
|
+
semver2
|
|
36
|
+
jwt (2.2.1)
|
|
37
|
+
mime-types (2.99.3)
|
|
38
|
+
mini_portile2 (2.4.0)
|
|
39
|
+
multi_json (1.14.1)
|
|
40
|
+
multi_xml (0.6.0)
|
|
41
|
+
multipart-post (2.1.1)
|
|
42
|
+
nokogiri (1.10.7)
|
|
43
|
+
mini_portile2 (~> 2.4.0)
|
|
44
|
+
oauth2 (1.4.2)
|
|
45
|
+
faraday (>= 0.8, < 2.0)
|
|
46
|
+
jwt (>= 1.0, < 3.0)
|
|
53
47
|
multi_json (~> 1.3)
|
|
54
48
|
multi_xml (~> 0.5)
|
|
55
|
-
rack (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
rspec (
|
|
61
|
-
rspec-core (~>
|
|
62
|
-
rspec-expectations (~>
|
|
63
|
-
rspec-mocks (~>
|
|
64
|
-
rspec-core (
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
49
|
+
rack (>= 1.2, < 3)
|
|
50
|
+
psych (3.1.0)
|
|
51
|
+
rack (2.1.1)
|
|
52
|
+
rake (13.0.1)
|
|
53
|
+
rdoc (6.2.1)
|
|
54
|
+
rspec (3.9.0)
|
|
55
|
+
rspec-core (~> 3.9.0)
|
|
56
|
+
rspec-expectations (~> 3.9.0)
|
|
57
|
+
rspec-mocks (~> 3.9.0)
|
|
58
|
+
rspec-core (3.9.1)
|
|
59
|
+
rspec-support (~> 3.9.1)
|
|
60
|
+
rspec-expectations (3.9.0)
|
|
61
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
62
|
+
rspec-support (~> 3.9.0)
|
|
63
|
+
rspec-mocks (3.9.1)
|
|
64
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
65
|
+
rspec-support (~> 3.9.0)
|
|
66
|
+
rspec-support (3.9.2)
|
|
67
|
+
safe_yaml (1.0.5)
|
|
68
|
+
semver2 (3.4.2)
|
|
69
|
+
thread_safe (0.3.6)
|
|
70
|
+
webmock (3.8.0)
|
|
71
|
+
addressable (>= 2.3.6)
|
|
72
|
+
crack (>= 0.3.2)
|
|
73
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
|
70
74
|
|
|
71
75
|
PLATFORMS
|
|
72
76
|
ruby
|
|
73
77
|
|
|
74
78
|
DEPENDENCIES
|
|
75
79
|
bundler
|
|
76
|
-
|
|
77
|
-
fakeweb
|
|
80
|
+
byebug
|
|
78
81
|
jeweler
|
|
79
82
|
rspec
|
|
83
|
+
webmock
|
|
84
|
+
|
|
85
|
+
BUNDLED WITH
|
|
86
|
+
2.0.1
|
data/Readme.md
CHANGED
|
@@ -27,6 +27,7 @@ HttpLogger.log_headers = false # Default: false
|
|
|
27
27
|
HttpLogger.log_request_body = false # Default: true
|
|
28
28
|
HttpLogger.log_response_body = false # Default: true
|
|
29
29
|
HttpLogger.level = :info # Desired log level as a symbol. Default: :debug
|
|
30
|
+
HttpLogger.collapse_body_limit # Change default truncate limit. Default: 5000
|
|
30
31
|
```
|
|
31
32
|
|
|
32
33
|
## Alternative
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.6.0
|
data/http_logger.gemspec
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: http_logger 0.
|
|
5
|
+
# stub: http_logger 0.6.0 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
|
-
s.name = "http_logger"
|
|
9
|
-
s.version = "0.
|
|
8
|
+
s.name = "http_logger".freeze
|
|
9
|
+
s.version = "0.6.0"
|
|
10
10
|
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
|
-
s.require_paths = ["lib"]
|
|
13
|
-
s.authors = ["Bogdan Gusiev"]
|
|
14
|
-
s.date = "
|
|
15
|
-
s.description = "This gem keep an eye on every Net::HTTP library usage and dump all request and response data to the log file"
|
|
16
|
-
s.email = "agresso@gmail.com"
|
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
|
+
s.require_paths = ["lib".freeze]
|
|
13
|
+
s.authors = ["Bogdan Gusiev".freeze]
|
|
14
|
+
s.date = "2020-01-27"
|
|
15
|
+
s.description = "This gem keep an eye on every Net::HTTP library usage and dump all request and response data to the log file".freeze
|
|
16
|
+
s.email = "agresso@gmail.com".freeze
|
|
17
17
|
s.extra_rdoc_files = [
|
|
18
18
|
"LICENSE.txt"
|
|
19
19
|
]
|
|
@@ -34,33 +34,33 @@ Gem::Specification.new do |s|
|
|
|
34
34
|
"spec/http_logger_spec.rb",
|
|
35
35
|
"spec/spec_helper.rb"
|
|
36
36
|
]
|
|
37
|
-
s.homepage = "http://github.com/railsware/http_logger"
|
|
38
|
-
s.licenses = ["MIT"]
|
|
39
|
-
s.rubygems_version = "2.
|
|
40
|
-
s.summary = "Log your http api calls just like SQL queries"
|
|
37
|
+
s.homepage = "http://github.com/railsware/http_logger".freeze
|
|
38
|
+
s.licenses = ["MIT".freeze]
|
|
39
|
+
s.rubygems_version = "2.7.8".freeze
|
|
40
|
+
s.summary = "Log your http api calls just like SQL queries".freeze
|
|
41
41
|
|
|
42
42
|
if s.respond_to? :specification_version then
|
|
43
43
|
s.specification_version = 4
|
|
44
44
|
|
|
45
45
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
46
|
-
s.add_development_dependency(%q<
|
|
47
|
-
s.add_development_dependency(%q<
|
|
48
|
-
s.add_development_dependency(%q<
|
|
49
|
-
s.add_development_dependency(%q<
|
|
50
|
-
s.add_development_dependency(%q<
|
|
46
|
+
s.add_development_dependency(%q<byebug>.freeze, [">= 0"])
|
|
47
|
+
s.add_development_dependency(%q<webmock>.freeze, [">= 0"])
|
|
48
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
|
49
|
+
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
|
|
50
|
+
s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
|
|
51
51
|
else
|
|
52
|
-
s.add_dependency(%q<
|
|
53
|
-
s.add_dependency(%q<
|
|
54
|
-
s.add_dependency(%q<
|
|
55
|
-
s.add_dependency(%q<
|
|
56
|
-
s.add_dependency(%q<
|
|
52
|
+
s.add_dependency(%q<byebug>.freeze, [">= 0"])
|
|
53
|
+
s.add_dependency(%q<webmock>.freeze, [">= 0"])
|
|
54
|
+
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
|
55
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
|
56
|
+
s.add_dependency(%q<jeweler>.freeze, [">= 0"])
|
|
57
57
|
end
|
|
58
58
|
else
|
|
59
|
-
s.add_dependency(%q<
|
|
60
|
-
s.add_dependency(%q<
|
|
61
|
-
s.add_dependency(%q<
|
|
62
|
-
s.add_dependency(%q<
|
|
63
|
-
s.add_dependency(%q<
|
|
59
|
+
s.add_dependency(%q<byebug>.freeze, [">= 0"])
|
|
60
|
+
s.add_dependency(%q<webmock>.freeze, [">= 0"])
|
|
61
|
+
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
|
62
|
+
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
|
63
|
+
s.add_dependency(%q<jeweler>.freeze, [">= 0"])
|
|
64
64
|
end
|
|
65
65
|
end
|
|
66
66
|
|
data/lib/http_logger.rb
CHANGED
|
@@ -77,7 +77,7 @@ class HttpLogger
|
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
def request_url(http, request)
|
|
80
|
-
URI.
|
|
80
|
+
URI::DEFAULT_PARSER.unescape("http#{"s" if http.use_ssl?}://#{http.address}:#{http.port}#{request.path}")
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
def log_request_headers(request)
|
|
@@ -87,7 +87,7 @@ class HttpLogger
|
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
HTTP_METHODS_WITH_BODY = Set.new(%w(POST PUT GET PATCH))
|
|
90
|
-
|
|
90
|
+
|
|
91
91
|
def log_request_body(request)
|
|
92
92
|
if self.class.log_request_body
|
|
93
93
|
if HTTP_METHODS_WITH_BODY.include?(request.method)
|
|
@@ -103,13 +103,13 @@ class HttpLogger
|
|
|
103
103
|
end
|
|
104
104
|
|
|
105
105
|
def log_response_headers(response)
|
|
106
|
-
if
|
|
106
|
+
if HttpLogger.log_headers
|
|
107
107
|
response.each_capitalized { |k,v| log("HTTP response header", "#{k}: #{v}") }
|
|
108
108
|
end
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
def log_response_body(body)
|
|
112
|
-
if
|
|
112
|
+
if HttpLogger.log_response_body
|
|
113
113
|
if body.is_a?(Net::ReadAdapter)
|
|
114
114
|
log("Response body", "<impossible to log>")
|
|
115
115
|
else
|
|
@@ -126,23 +126,40 @@ class HttpLogger
|
|
|
126
126
|
|
|
127
127
|
def ignored?(http, request)
|
|
128
128
|
url = request_url(http, request)
|
|
129
|
-
|
|
129
|
+
HttpLogger.ignore.any? do |pattern|
|
|
130
130
|
url =~ pattern
|
|
131
131
|
end
|
|
132
132
|
end
|
|
133
133
|
|
|
134
134
|
def fakeweb?(http, request)
|
|
135
|
-
return false unless defined?(::
|
|
136
|
-
uri =
|
|
135
|
+
return false unless defined?(::WebMock)
|
|
136
|
+
uri = request_uri_as_string(http, request)
|
|
137
137
|
method = request.method.downcase.to_sym
|
|
138
|
-
::
|
|
138
|
+
signature = WebMock::RequestSignature.new(method, uri)
|
|
139
|
+
::WebMock.registered_request?(signature)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
def request_uri_as_string(net_http, request)
|
|
143
|
+
protocol = net_http.use_ssl? ? "https" : "http"
|
|
144
|
+
|
|
145
|
+
path = request.path
|
|
146
|
+
path = URI.parse(request.path).request_uri if request.path =~ /^http/
|
|
147
|
+
|
|
148
|
+
if request["authorization"] =~ /^Basic /
|
|
149
|
+
userinfo = FakeWeb::Utility.decode_userinfo_from_header(request["authorization"])
|
|
150
|
+
userinfo = FakeWeb::Utility.encode_unsafe_chars_in_userinfo(userinfo) + "@"
|
|
151
|
+
else
|
|
152
|
+
userinfo = ""
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
"#{protocol}://#{userinfo}#{net_http.address}:#{net_http.port}#{path}"
|
|
139
156
|
end
|
|
140
157
|
|
|
141
158
|
def truncate_body(body)
|
|
142
159
|
if collapse_body_limit && collapse_body_limit > 0 && body && body.size >= collapse_body_limit
|
|
143
160
|
body_piece_size = collapse_body_limit / 2
|
|
144
|
-
body[0..body_piece_size] +
|
|
145
|
-
"\n\n<some data truncated>\n\n" +
|
|
161
|
+
body[0..body_piece_size] +
|
|
162
|
+
"\n\n<some data truncated>\n\n" +
|
|
146
163
|
body[(body.size - body_piece_size)..body.size]
|
|
147
164
|
else
|
|
148
165
|
body
|
|
@@ -173,33 +190,18 @@ class HttpLogger
|
|
|
173
190
|
end
|
|
174
191
|
end
|
|
175
192
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
def self.log_headers=(value)
|
|
179
|
-
HttpLogger.deprecate_config("log_headers")
|
|
180
|
-
HttpLogger.log_headers = value
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
def self.colorize=(value)
|
|
184
|
-
HttpLogger.deprecate_config("colorize")
|
|
185
|
-
HttpLogger.colorize = value
|
|
186
|
-
end
|
|
187
|
-
|
|
188
|
-
def self.logger=(value)
|
|
189
|
-
HttpLogger.deprecate_config("logger")
|
|
190
|
-
HttpLogger.logger = value
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
alias_method :request_without_logging, :request
|
|
195
|
-
|
|
193
|
+
module NetHttpLogger
|
|
196
194
|
def request(request, body = nil, &block)
|
|
197
195
|
HttpLogger.perform(self, request, body) do
|
|
198
|
-
|
|
196
|
+
super(request, body, &block)
|
|
199
197
|
end
|
|
200
198
|
end
|
|
199
|
+
end
|
|
201
200
|
|
|
201
|
+
if defined?(::WebMock)
|
|
202
|
+
WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_get("@webMockNetHTTP").prepend(NetHttpLogger)
|
|
202
203
|
end
|
|
204
|
+
Net::HTTP.prepend(NetHttpLogger)
|
|
203
205
|
|
|
204
206
|
if defined?(Rails)
|
|
205
207
|
|
data/spec/http_logger_spec.rb
CHANGED
|
@@ -7,8 +7,14 @@ describe HttpLogger do
|
|
|
7
7
|
# flush log
|
|
8
8
|
f = File.open(LOGFILE, "w")
|
|
9
9
|
f.close
|
|
10
|
+
stub_request(:any, url).to_return(
|
|
11
|
+
body: response_body,
|
|
12
|
+
headers: {"X-Http-logger" => true},
|
|
13
|
+
)
|
|
10
14
|
end
|
|
11
15
|
|
|
16
|
+
let(:response_body) { "Success" }
|
|
17
|
+
|
|
12
18
|
let(:url) { "http://google.com/" }
|
|
13
19
|
let(:uri) { URI.parse(url) }
|
|
14
20
|
let(:request) do
|
|
@@ -33,7 +39,7 @@ describe HttpLogger do
|
|
|
33
39
|
let(:url) { "http://google.com?query=a%20b"}
|
|
34
40
|
|
|
35
41
|
it { subject.should include("query=a b")}
|
|
36
|
-
|
|
42
|
+
|
|
37
43
|
end
|
|
38
44
|
|
|
39
45
|
context "when headers logging is on" do
|
|
@@ -48,7 +54,7 @@ describe HttpLogger do
|
|
|
48
54
|
after(:each) do
|
|
49
55
|
HttpLogger.log_headers = false
|
|
50
56
|
end
|
|
51
|
-
|
|
57
|
+
|
|
52
58
|
end
|
|
53
59
|
|
|
54
60
|
describe "post request" do
|
|
@@ -60,8 +66,8 @@ describe HttpLogger do
|
|
|
60
66
|
it {should include("Request body")}
|
|
61
67
|
it {should include("a=hello&b=1")}
|
|
62
68
|
context "with too long body" do
|
|
69
|
+
let(:response_body) { long_body }
|
|
63
70
|
let(:url) do
|
|
64
|
-
FakeWeb.register_uri(:post, "http://github.com", :body => long_body)
|
|
65
71
|
"http://github.com/"
|
|
66
72
|
end
|
|
67
73
|
it { should include("12,Dodo case,dodo@case.com,tech@dodcase.com,single elimination\n")}
|
|
@@ -82,7 +88,7 @@ describe HttpLogger do
|
|
|
82
88
|
it {should include("Request body")}
|
|
83
89
|
it {should include("a=hello&b=1")}
|
|
84
90
|
end
|
|
85
|
-
|
|
91
|
+
|
|
86
92
|
describe "generic request" do
|
|
87
93
|
let(:request) do
|
|
88
94
|
http = Net::HTTP.new(uri.host, uri.port)
|
|
@@ -114,8 +120,9 @@ describe HttpLogger do
|
|
|
114
120
|
|
|
115
121
|
context "with long response body" do
|
|
116
122
|
|
|
123
|
+
let(:response_body) { long_body }
|
|
117
124
|
let(:url) do
|
|
118
|
-
|
|
125
|
+
stub_request(:get, "http://github.com/").to_return(body: long_body)
|
|
119
126
|
"http://github.com"
|
|
120
127
|
end
|
|
121
128
|
|
|
@@ -131,8 +138,8 @@ describe HttpLogger do
|
|
|
131
138
|
HttpLogger.log_response_body = false
|
|
132
139
|
end
|
|
133
140
|
|
|
141
|
+
let(:response_body) { long_body }
|
|
134
142
|
let(:url) do
|
|
135
|
-
FakeWeb.register_uri(:get, "http://github.com", :body => long_body)
|
|
136
143
|
"http://github.com"
|
|
137
144
|
end
|
|
138
145
|
|
|
@@ -145,14 +152,16 @@ describe HttpLogger do
|
|
|
145
152
|
|
|
146
153
|
context "ignore option is set" do
|
|
147
154
|
|
|
148
|
-
let(:url)
|
|
155
|
+
let(:url) do
|
|
156
|
+
"http://rpm.newrelic.com/hello/world"
|
|
157
|
+
end
|
|
149
158
|
|
|
150
159
|
before(:each) do
|
|
151
160
|
HttpLogger.ignore = [/rpm\.newrelic\.com/]
|
|
152
161
|
end
|
|
153
162
|
|
|
154
163
|
it { should be_empty}
|
|
155
|
-
|
|
164
|
+
|
|
156
165
|
after(:each) do
|
|
157
166
|
HttpLogger.ignore = []
|
|
158
167
|
end
|
|
@@ -160,14 +169,17 @@ describe HttpLogger do
|
|
|
160
169
|
|
|
161
170
|
context "when level is set" do
|
|
162
171
|
|
|
163
|
-
let(:url)
|
|
172
|
+
let(:url) do
|
|
173
|
+
stub_request(:get, "http://rpm.newrelic.com/hello/world").to_return(body: "")
|
|
174
|
+
"http://rpm.newrelic.com/hello/world"
|
|
175
|
+
end
|
|
164
176
|
|
|
165
177
|
before(:each) do
|
|
166
178
|
HttpLogger.level = :info
|
|
167
179
|
end
|
|
168
180
|
|
|
169
181
|
it { should_not be_empty }
|
|
170
|
-
|
|
182
|
+
|
|
171
183
|
after(:each) do
|
|
172
184
|
HttpLogger.level = :debug
|
|
173
185
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
2
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
3
3
|
require 'rspec'
|
|
4
|
-
require '
|
|
4
|
+
require 'webmock/rspec'
|
|
5
5
|
require 'http_logger'
|
|
6
6
|
require "logger"
|
|
7
7
|
require "fileutils"
|
|
@@ -11,10 +11,9 @@ require "fileutils"
|
|
|
11
11
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
12
12
|
|
|
13
13
|
LOGFILE = 'http.log'
|
|
14
|
-
RSpec.configure do |config|
|
|
15
|
-
|
|
16
14
|
|
|
15
|
+
RSpec.configure do |config|
|
|
16
|
+
config.expect_with(:rspec) { |c| c.syntax = :should }
|
|
17
17
|
FileUtils.rm_f(LOGFILE)
|
|
18
18
|
HttpLogger.logger = Logger.new(LOGFILE)
|
|
19
|
-
|
|
20
19
|
end
|
metadata
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: http_logger
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bogdan Gusiev
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-01-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: byebug
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
@@ -25,7 +25,7 @@ dependencies:
|
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: webmock
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
@@ -39,7 +39,7 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
@@ -53,7 +53,7 @@ dependencies:
|
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: bundler
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - ">="
|
|
@@ -67,7 +67,7 @@ dependencies:
|
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: jeweler
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - ">="
|
|
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
123
123
|
version: '0'
|
|
124
124
|
requirements: []
|
|
125
125
|
rubyforge_project:
|
|
126
|
-
rubygems_version: 2.
|
|
126
|
+
rubygems_version: 2.7.8
|
|
127
127
|
signing_key:
|
|
128
128
|
specification_version: 4
|
|
129
129
|
summary: Log your http api calls just like SQL queries
|