httplog 1.7.0 → 1.7.1

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: 659ade62ea910dac6d24038c97112f6899c640b4f1da1a1521e86037957ee157
4
- data.tar.gz: 2c88ab4dd8293017d5ef5aa9101f77b8a0dcfca8c324c5724e1e3499c9ea908d
3
+ metadata.gz: ac290632e593dd3b6ebda0ae4b1e283147867dd241070328ef77268e678fc413
4
+ data.tar.gz: 50e5a2f199404dc902ba9634c167b60e84055b28e4cdbf9bbaa838a6617dc97b
5
5
  SHA512:
6
- metadata.gz: a8d277e613b0cfca71196bf7cc4288c3c7f26bd919410bdc5e6c94e5de5d14a45944cff130da1d2d29aa66f09ca74fd2e112b2a7b243c27e0a3dca4387b74052
7
- data.tar.gz: 4927a60e3eba5195539e890dbb69861eee96fcf9e7d2bb736638085bc15e3e6280ea726b78e95f5702f36cdb05290464eb6ae9b36b3dbfe9586c6afe5dd11462
6
+ metadata.gz: 8d08e4d30f6b8f0a588d0c58b55909ec87beaecc6bc85fd81926f4dd706b5f8db788225fbd41b13200d061b638c78d4b8536020691ff9081e5c6f40b6847a3e3
7
+ data.tar.gz: 3ececc0f41d11b710c234359e0d839471a0214167e2a2f510096d0dd89abb8ebb0c11db9c870e19b4e020d1705a9867bdc10f9fb3ee62db4bb149e6443e2a4aa
data/README.md CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/httplog.svg)](http://badge.fury.io/rb/httplog)
4
4
  [![Build Status](https://app.travis-ci.com/trusche/httplog.svg?token=puaZacCmspVoUFGP2EYr&branch=master)](https://app.travis-ci.com/trusche/httplog)
5
- [![Code Climate](https://codeclimate.com/github/trusche/httplog.svg)](https://codeclimate.com/github/trusche/httplog)
6
5
  [![Release Version](https://img.shields.io/github/release/trusche/httplog.svg)](https://img.shields.io/github/release/trusche/httplog.svg)
7
6
 
8
7
  Log outgoing HTTP requests made from your application. Helps with debugging pesky API error responses, or just generally understanding what's going on under the hood.
@@ -104,13 +103,17 @@ HttpLog.configure do |config|
104
103
  end
105
104
  ```
106
105
 
107
- If you want to use this in a Rails app, I'd suggest configuring this specifically for each environment. A global initializer is not a good idea since `HttpLog` will be undefined in production. Because you're **not using this in production**, right? :)
106
+ If you want to use this in a Rails app, it is recommended to configure `HttpLog` in an initializer, as suggested by the official Rails documentation. This approach ensures that your configuration is loaded properly and only in the desired environments.
107
+
108
+ For example, you can create a file at `config/initializers/httplog.rb` with the following content:
108
109
 
109
110
  ```ruby
110
- # config/environments/development.rb
111
+ # config/initializers/httplog.rb
111
112
 
112
- HttpLog.configure do |config|
113
- config.logger = Rails.logger
113
+ if Rails.env.development?
114
+ HttpLog.configure do |config|
115
+ config.logger = Rails.logger
116
+ end
114
117
  end
115
118
  ```
116
119
 
@@ -276,3 +279,4 @@ This will launch a simple rack server on port 9292 and run all tests locally aga
276
279
  If you have any issues with or feature requests for httplog,
277
280
  please [open an issue](https://github.com/trusche/httplog/issues) on GitHub
278
281
  or fork the project and send a pull request. **Please include passing specs with all pull requests.**
282
+
data/httplog.gemspec CHANGED
@@ -45,8 +45,13 @@ Gem::Specification.new do |gem|
45
45
  gem.add_development_dependency 'rake', ['~> 13.0']
46
46
  gem.add_development_dependency 'rspec', ['~> 3.7']
47
47
  gem.add_development_dependency 'simplecov', ['~> 0.15']
48
- gem.add_development_dependency 'thin', ['~> 1.7']
48
+ gem.add_development_dependency 'thin', ['>= 1.7']
49
49
  gem.add_development_dependency 'oj', ['>= 3.9.2']
50
+ gem.add_development_dependency 'csv'
51
+ gem.add_development_dependency 'logger'
52
+ gem.add_development_dependency 'ostruct'
53
+ gem.add_development_dependency 'benchmark'
54
+ gem.add_development_dependency 'base64'
50
55
 
51
56
  gem.add_dependency 'rack', ['>= 2.0']
52
57
  gem.add_dependency 'rainbow', ['>= 2.0.0']
@@ -1,15 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  if defined?(::HTTP::Client) && defined?(::HTTP::Connection)
4
- module ::HTTP # rubocop:disable Style/ClassAndModuleChildren
5
- class Client
6
- request_method = respond_to?('make_request') ? 'make_request' : 'perform'
7
- orig_request_method = "orig_#{request_method}"
8
- alias_method(orig_request_method, request_method) unless method_defined?(orig_request_method)
9
-
4
+ module HTTPClientInstrumentation
5
+ %w[make_request perform].each do |request_method|
10
6
  define_method request_method do |req, options|
11
7
  bm = Benchmark.realtime do
12
- @response = send(orig_request_method, req, options)
8
+ @response = super(req, options)
13
9
  end
14
10
 
15
11
  uri = req.uri
@@ -41,13 +37,14 @@ if defined?(::HTTP::Client) && defined?(::HTTP::Connection)
41
37
  end
42
38
  end
43
39
 
44
- class Connection
45
- alias orig_initialize initialize unless method_defined?(:orig_initialize)
46
-
40
+ module HTTPConnectionInstrumentation
47
41
  def initialize(req, options)
48
42
  HttpLog.log_connection(req.uri.host, req.uri.port) if HttpLog.url_approved?(req.uri)
49
- orig_initialize(req, options)
43
+ super
50
44
  end
51
45
  end
46
+
47
+ ::HTTP::Client.prepend(HTTPClientInstrumentation)
48
+ ::HTTP::Connection.prepend(HTTPConnectionInstrumentation)
52
49
  end
53
50
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HttpLog
4
- VERSION = '1.7.0'.freeze
4
+ VERSION = '1.7.1'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httplog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thilo Rusche
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-06-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: ethon
@@ -224,14 +223,14 @@ dependencies:
224
223
  name: thin
225
224
  requirement: !ruby/object:Gem::Requirement
226
225
  requirements:
227
- - - "~>"
226
+ - - ">="
228
227
  - !ruby/object:Gem::Version
229
228
  version: '1.7'
230
229
  type: :development
231
230
  prerelease: false
232
231
  version_requirements: !ruby/object:Gem::Requirement
233
232
  requirements:
234
- - - "~>"
233
+ - - ">="
235
234
  - !ruby/object:Gem::Version
236
235
  version: '1.7'
237
236
  - !ruby/object:Gem::Dependency
@@ -248,6 +247,76 @@ dependencies:
248
247
  - - ">="
249
248
  - !ruby/object:Gem::Version
250
249
  version: 3.9.2
250
+ - !ruby/object:Gem::Dependency
251
+ name: csv
252
+ requirement: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ type: :development
258
+ prerelease: false
259
+ version_requirements: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ - !ruby/object:Gem::Dependency
265
+ name: logger
266
+ requirement: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ type: :development
272
+ prerelease: false
273
+ version_requirements: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ - !ruby/object:Gem::Dependency
279
+ name: ostruct
280
+ requirement: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: '0'
285
+ type: :development
286
+ prerelease: false
287
+ version_requirements: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - ">="
290
+ - !ruby/object:Gem::Version
291
+ version: '0'
292
+ - !ruby/object:Gem::Dependency
293
+ name: benchmark
294
+ requirement: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ type: :development
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - ">="
304
+ - !ruby/object:Gem::Version
305
+ version: '0'
306
+ - !ruby/object:Gem::Dependency
307
+ name: base64
308
+ requirement: !ruby/object:Gem::Requirement
309
+ requirements:
310
+ - - ">="
311
+ - !ruby/object:Gem::Version
312
+ version: '0'
313
+ type: :development
314
+ prerelease: false
315
+ version_requirements: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ">="
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
251
320
  - !ruby/object:Gem::Dependency
252
321
  name: rack
253
322
  requirement: !ruby/object:Gem::Requirement
@@ -304,7 +373,6 @@ metadata:
304
373
  bug_tracker_uri: https://github.com/trusche/httplog/issues
305
374
  changelog_uri: https://github.com/trusche/httplog/blob/master/CHANGELOG.md
306
375
  source_code_uri: https://github.com/trusche/httplog
307
- post_install_message:
308
376
  rdoc_options: []
309
377
  require_paths:
310
378
  - lib
@@ -319,8 +387,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
319
387
  - !ruby/object:Gem::Version
320
388
  version: '0'
321
389
  requirements: []
322
- rubygems_version: 3.5.9
323
- signing_key:
390
+ rubygems_version: 3.6.7
324
391
  specification_version: 4
325
392
  summary: Log outgoing HTTP requests.
326
393
  test_files: []