twingly-http 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 573e3beb22fd03c1961fe5b6264b3a2b1ef9f0a5a89b95e0094e1693e76dff7f
4
- data.tar.gz: 30a0dda321f1a3804492fd91e49907456cd3e45494f79ff571c054b648f7725c
3
+ metadata.gz: 504e1df993b190cf3039e5b45b9586f2babaab2fe5e1a881a10dfc407fd21663
4
+ data.tar.gz: 6081a1578382fa683f5ae71f52749988b52346dfef87cbcc9295d3ac33453bb8
5
5
  SHA512:
6
- metadata.gz: 9d209c54bbd796f27d38796d6a5449cf961e7de9a351700098ba92f022502a34950dc7652c4c9d16f80d9ae7474fe65bd6d3a60976cf43db65f767d5fb97277e
7
- data.tar.gz: 6e4db092c8893e0539b17af90233d9ac86f2bbb2f51a2ab3b29fbd7c671211861168e30b434b4abdbf209c332861292a71bee37cb47fe4a91f3623b14f67a21f
6
+ metadata.gz: 493b7190c970e227735c7ffa8e7377f243cec8c8e24778662b3f9e9f187f713e16f68404c0c9c6322ad002fd05f75e2088027471747b2d022fb204e5ca719729
7
+ data.tar.gz: 68baaace97462c88bbbd84a082848264ee5515fde8505cf3e0e3524912d0b4f3387aa9c3057b577a683dbcd6f39ffec9dbaeae65c2b4bd3a35c8e5892f2684b0
data/README.md CHANGED
@@ -14,7 +14,7 @@ Example "one-liner" usage:
14
14
 
15
15
  ```
16
16
  ruby -rlogger -rtwingly/http -e '\
17
- logger = Logger.new(STDOUT); logger.level = :INFO; \
17
+ logger = Logger.new($stdout); logger.level = :INFO; \
18
18
  puts Twingly::HTTP::Client.new(logger: logger, \
19
19
  base_user_agent: "").get("http://example.org").status'
20
20
  ```
@@ -25,7 +25,7 @@ Example `irb` usage:
25
25
  irb -rlogger -rtwingly/http
26
26
  ```
27
27
  ```ruby
28
- logger = Logger.new(STDOUT); logger.level = :INFO
28
+ logger = Logger.new($stdout); logger.level = :INFO
29
29
  client = Twingly::HTTP::Client.new(logger: logger, base_user_agent: "")
30
30
  client.get("http://example.org").status
31
31
  ```
@@ -13,7 +13,7 @@ module Faraday
13
13
  super(app)
14
14
  @logger = logger || begin
15
15
  require "logger"
16
- ::Logger.new(STDOUT)
16
+ ::Logger.new($stdout)
17
17
  end
18
18
 
19
19
  @filter = []
@@ -26,10 +26,10 @@ module Faraday
26
26
  def call(env)
27
27
  info("request") do
28
28
  log_entry = {
29
- "source": "upstream-request",
30
- "method": env.method.upcase,
31
- "url": apply_filters(env.url.to_s),
32
- "request_id": request_id,
29
+ source: "upstream-request",
30
+ method: env.method.upcase,
31
+ url: apply_filters(env.url.to_s),
32
+ request_id: request_id,
33
33
  }.merge(app_metadata)
34
34
 
35
35
  Twingly::StringUtilities.logfmt(log_entry)
@@ -41,9 +41,9 @@ module Faraday
41
41
  def on_complete(env)
42
42
  info("response") do
43
43
  log_entry = {
44
- "source": "upstream-response",
45
- "status": env.status,
46
- "request_id": request_id,
44
+ source: "upstream-response",
45
+ status: env.status,
46
+ request_id: request_id,
47
47
  }.merge(app_metadata)
48
48
 
49
49
  Twingly::StringUtilities.logfmt(log_entry)
@@ -68,7 +68,7 @@ module Faraday
68
68
 
69
69
  def app_metadata
70
70
  {
71
- "release": Twingly::HTTP::Heroku.release_version,
71
+ release: Twingly::HTTP::Heroku.release_version,
72
72
  }
73
73
  end
74
74
 
@@ -20,7 +20,7 @@ module Twingly
20
20
  end
21
21
 
22
22
  def self.review_app?
23
- parent_name = ENV.fetch("HEROKU_PARENT_APP_NAME") {}
23
+ parent_name = ENV.fetch("HEROKU_PARENT_APP_NAME") { nil }
24
24
 
25
25
  return false unless parent_name
26
26
 
data/lib/twingly/http.rb CHANGED
@@ -97,7 +97,8 @@ module Twingly
97
97
 
98
98
  Response.new(headers: response.headers.to_h,
99
99
  status: response.status,
100
- body: response.body)
100
+ body: response.body,
101
+ final_url: response.env.url.to_s)
101
102
  rescue *(@retryable_exceptions + TIMEOUT_EXCEPTIONS)
102
103
  raise ConnectionError
103
104
  rescue Faraday::UrlSizeLimit::LimitExceededError => error
@@ -241,9 +242,9 @@ module Twingly
241
242
 
242
243
  def app_metadata
243
244
  {
244
- "dyno_id": Heroku.dyno_id,
245
- "release": Heroku.release_version,
246
- "git_head": Heroku.slug_commit,
245
+ dyno_id: Heroku.dyno_id,
246
+ release: Heroku.release_version,
247
+ git_head: Heroku.slug_commit,
247
248
  }
248
249
  end
249
250
 
@@ -258,13 +259,16 @@ module Twingly
258
259
  attr_reader :headers
259
260
  attr_reader :status
260
261
  attr_reader :body
262
+ attr_reader :final_url
261
263
 
262
264
  def initialize(headers: nil,
263
265
  status: nil,
264
- body: nil)
266
+ body: nil,
267
+ final_url: nil)
265
268
  @headers = headers
266
269
  @status = status
267
270
  @body = body
271
+ @final_url = final_url
268
272
  end
269
273
  end
270
274
  end
@@ -12,7 +12,7 @@ module Twingly
12
12
  return unless string
13
13
 
14
14
  if string[0] == char
15
- string[1..-1]
15
+ string[1..]
16
16
  else
17
17
  string
18
18
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Twingly
4
4
  module HTTP
5
- VERSION = "0.4.0"
5
+ VERSION = "0.5.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twingly-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twingly AB
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-26 00:00:00.000000000 Z
11
+ date: 2023-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -92,28 +92,28 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 0.77.0
95
+ version: 1.14.0
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: 0.77.0
102
+ version: 1.14.0
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rubocop-rspec
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '1.36'
109
+ version: 2.4.0
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '1.36'
116
+ version: 2.4.0
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: toxiproxy
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -193,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  requirements: []
196
- rubygems_version: 3.1.6
196
+ rubygems_version: 3.3.7
197
197
  signing_key:
198
198
  specification_version: 4
199
199
  summary: Robust HTTP client