lithic 0.1.0.pre.alpha.44 → 0.1.0.pre.alpha.46

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: 2373f4ab03be865331281e30220b9ebfb84c36390b816a7ff82a599919882d64
4
- data.tar.gz: 8be0a80d5a6a3ebdd440b05ed742cd5984e1ba9dbecbdd2a90762b4082e1ec27
3
+ metadata.gz: '09258a03a84cb7b42dc9bd53639ca8e2e5c36a402008e51134172449fe9e2dd7'
4
+ data.tar.gz: 4a5b22cb34a0dfc0b2b13d926aa3c7a66fda6e92650933f9faf7d2a75942b238
5
5
  SHA512:
6
- metadata.gz: da6d8d1e5c1c3a38ae2bcfa4a539d125f478957760049c02a9f7476479112f8402af424f338dc4b006ad6a88e4982f9840ac9b56316ba05b1c068cc1989067b5
7
- data.tar.gz: 11d60d3ff30217537f1cc4152496663e41bc4260ecbf1daa9e714c470d8246fa0bcfdd50cf1e91500b30ac3d612d63968f31a21fbba1930bb36d5e27e89577aa
6
+ metadata.gz: 9a39ad2e47a0dc4cd8b9db3a280074d1332ad8bba724cc8f4444e9f5832df9ed952df44fd59d4738b402f2f14655e9283f79e724c4a9b59c71611b47ec345072
7
+ data.tar.gz: b5e6122981a36bcd71f9dcd2fc16fdf3a58cd6a0aebe780d070692270a81fe1465d85dd3aa4ca2262efac3bdd83aefd561bf621f8c7a290c549b742a7cb55193
data/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.46 (2025-09-26)
4
+
5
+ Full Changelog: [v0.1.0-alpha.45...v0.1.0-alpha.46](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.45...v0.1.0-alpha.46)
6
+
7
+ ### Bug Fixes
8
+
9
+ * shorten multipart boundary sep to less than RFC specificed max length ([e5d086e](https://github.com/lithic-com/lithic-ruby/commit/e5d086ebb012d4e173072048d7ea3a5e7fc11a5f))
10
+
11
+ ## 0.1.0-alpha.45 (2025-09-26)
12
+
13
+ Full Changelog: [v0.1.0-alpha.44...v0.1.0-alpha.45](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.44...v0.1.0-alpha.45)
14
+
15
+ ### Features
16
+
17
+ * expose response headers for both streams and errors ([a0a6aba](https://github.com/lithic-com/lithic-ruby/commit/a0a6aba5882df60a0019557a7e7d38aba3fb7176))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **internal:** use null byte as file separator in the fast formatting script ([7260d7a](https://github.com/lithic-com/lithic-ruby/commit/7260d7a16edee1733a39556e554ed6f1901595de))
23
+
24
+
25
+ ### Performance Improvements
26
+
27
+ * faster code formatting ([0367f27](https://github.com/lithic-com/lithic-ruby/commit/0367f2706e7903d3552ee18b7a75f62ece9fc927))
28
+
29
+
30
+ ### Chores
31
+
32
+ * do not install brew dependencies in ./scripts/bootstrap by default ([23ebf5c](https://github.com/lithic-com/lithic-ruby/commit/23ebf5c02a0c168955ed2ebf1e7ef38d2d4eeda4))
33
+ * **docs:** small updates to doc strings on a few endpoints ([b7c4832](https://github.com/lithic-com/lithic-ruby/commit/b7c4832186d3ecddb47728496bf966e00e3c15eb))
34
+ * improve example values ([5c934d6](https://github.com/lithic-com/lithic-ruby/commit/5c934d6d52eccc89a72dfe7d5a850280b44ded75))
35
+
3
36
  ## 0.1.0-alpha.44 (2025-09-11)
4
37
 
5
38
  Full Changelog: [v0.1.0-alpha.43...v0.1.0-alpha.44](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.43...v0.1.0-alpha.44)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "lithic", "~> 0.1.0.pre.alpha.44"
18
+ gem "lithic", "~> 0.1.0.pre.alpha.46"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
data/lib/lithic/errors.rb CHANGED
@@ -40,6 +40,9 @@ module Lithic
40
40
  # @return [Integer, nil]
41
41
  attr_accessor :status
42
42
 
43
+ # @return [Hash{String=>String}, nil]
44
+ attr_accessor :headers
45
+
43
46
  # @return [Object, nil]
44
47
  attr_accessor :body
45
48
 
@@ -47,13 +50,15 @@ module Lithic
47
50
  #
48
51
  # @param url [URI::Generic]
49
52
  # @param status [Integer, nil]
53
+ # @param headers [Hash{String=>String}, nil]
50
54
  # @param body [Object, nil]
51
55
  # @param request [nil]
52
56
  # @param response [nil]
53
57
  # @param message [String, nil]
54
- def initialize(url:, status: nil, body: nil, request: nil, response: nil, message: nil)
58
+ def initialize(url:, status: nil, headers: nil, body: nil, request: nil, response: nil, message: nil)
55
59
  @url = url
56
60
  @status = status
61
+ @headers = headers
57
62
  @body = body
58
63
  @request = request
59
64
  @response = response
@@ -74,6 +79,7 @@ module Lithic
74
79
  #
75
80
  # @param url [URI::Generic]
76
81
  # @param status [nil]
82
+ # @param headers [Hash{String=>String}, nil]
77
83
  # @param body [nil]
78
84
  # @param request [nil]
79
85
  # @param response [nil]
@@ -81,6 +87,7 @@ module Lithic
81
87
  def initialize(
82
88
  url:,
83
89
  status: nil,
90
+ headers: nil,
84
91
  body: nil,
85
92
  request: nil,
86
93
  response: nil,
@@ -95,6 +102,7 @@ module Lithic
95
102
  #
96
103
  # @param url [URI::Generic]
97
104
  # @param status [nil]
105
+ # @param headers [Hash{String=>String}, nil]
98
106
  # @param body [nil]
99
107
  # @param request [nil]
100
108
  # @param response [nil]
@@ -102,6 +110,7 @@ module Lithic
102
110
  def initialize(
103
111
  url:,
104
112
  status: nil,
113
+ headers: nil,
105
114
  body: nil,
106
115
  request: nil,
107
116
  response: nil,
@@ -116,21 +125,24 @@ module Lithic
116
125
  #
117
126
  # @param url [URI::Generic]
118
127
  # @param status [Integer]
128
+ # @param headers [Hash{String=>String}, nil]
119
129
  # @param body [Object, nil]
120
130
  # @param request [nil]
121
131
  # @param response [nil]
122
132
  # @param message [String, nil]
123
133
  #
124
134
  # @return [self]
125
- def self.for(url:, status:, body:, request:, response:, message: nil)
126
- kwargs = {
127
- url: url,
128
- status: status,
129
- body: body,
130
- request: request,
131
- response: response,
132
- message: message
133
- }
135
+ def self.for(url:, status:, headers:, body:, request:, response:, message: nil)
136
+ kwargs =
137
+ {
138
+ url: url,
139
+ status: status,
140
+ headers: headers,
141
+ body: body,
142
+ request: request,
143
+ response: response,
144
+ message: message
145
+ }
134
146
 
135
147
  case status
136
148
  in 400
@@ -162,15 +174,17 @@ module Lithic
162
174
  #
163
175
  # @param url [URI::Generic]
164
176
  # @param status [Integer]
177
+ # @param headers [Hash{String=>String}, nil]
165
178
  # @param body [Object, nil]
166
179
  # @param request [nil]
167
180
  # @param response [nil]
168
181
  # @param message [String, nil]
169
- def initialize(url:, status:, body:, request:, response:, message: nil)
182
+ def initialize(url:, status:, headers:, body:, request:, response:, message: nil)
170
183
  message ||= {url: url.to_s, status: status, body: body}
171
184
  super(
172
185
  url: url,
173
186
  status: status,
187
+ headers: headers,
174
188
  body: body,
175
189
  request: request,
176
190
  response: response,
@@ -60,7 +60,7 @@ module Lithic
60
60
  #
61
61
  # @param client [Lithic::Internal::Transport::BaseClient]
62
62
  # @param req [Hash{Symbol=>Object}]
63
- # @param headers [Hash{String=>String}, Net::HTTPHeader]
63
+ # @param headers [Hash{String=>String}]
64
64
  # @param page_data [Hash{Symbol=>Object}]
65
65
  def initialize(client:, req:, headers:, page_data:)
66
66
  super
@@ -54,7 +54,7 @@ module Lithic
54
54
  #
55
55
  # @param client [Lithic::Internal::Transport::BaseClient]
56
56
  # @param req [Hash{Symbol=>Object}]
57
- # @param headers [Hash{String=>String}, Net::HTTPHeader]
57
+ # @param headers [Hash{String=>String}]
58
58
  # @param page_data [Array<Object>]
59
59
  def initialize(client:, req:, headers:, page_data:)
60
60
  super
@@ -47,7 +47,7 @@ module Lithic
47
47
  # @api private
48
48
  #
49
49
  # @param status [Integer]
50
- # @param headers [Hash{String=>String}, Net::HTTPHeader]
50
+ # @param headers [Hash{String=>String}]
51
51
  #
52
52
  # @return [Boolean]
53
53
  def should_retry?(status, headers:)
@@ -85,7 +85,7 @@ module Lithic
85
85
  #
86
86
  # @param status [Integer]
87
87
  #
88
- # @param response_headers [Hash{String=>String}, Net::HTTPHeader]
88
+ # @param response_headers [Hash{String=>String}]
89
89
  #
90
90
  # @return [Hash{Symbol=>Object}]
91
91
  def follow_redirect(request, status:, response_headers:)
@@ -378,6 +378,7 @@ module Lithic
378
378
  rescue Lithic::Errors::APIConnectionError => e
379
379
  status = e
380
380
  end
381
+ headers = Lithic::Internal::Util.normalized_headers(response&.each_header&.to_h)
381
382
 
382
383
  case status
383
384
  in ..299
@@ -390,7 +391,7 @@ module Lithic
390
391
  in 300..399
391
392
  self.class.reap_connection!(status, stream: stream)
392
393
 
393
- request = self.class.follow_redirect(request, status: status, response_headers: response)
394
+ request = self.class.follow_redirect(request, status: status, response_headers: headers)
394
395
  send_request(
395
396
  request,
396
397
  redirect_count: redirect_count + 1,
@@ -399,9 +400,9 @@ module Lithic
399
400
  )
400
401
  in Lithic::Errors::APIConnectionError if retry_count >= max_retries
401
402
  raise status
402
- in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: response)
403
+ in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: headers)
403
404
  decoded = Kernel.then do
404
- Lithic::Internal::Util.decode_content(response, stream: stream, suppress_error: true)
405
+ Lithic::Internal::Util.decode_content(headers, stream: stream, suppress_error: true)
405
406
  ensure
406
407
  self.class.reap_connection!(status, stream: stream)
407
408
  end
@@ -409,6 +410,7 @@ module Lithic
409
410
  raise Lithic::Errors::APIStatusError.for(
410
411
  url: url,
411
412
  status: status,
413
+ headers: headers,
412
414
  body: decoded,
413
415
  request: nil,
414
416
  response: response
@@ -485,19 +487,21 @@ module Lithic
485
487
  send_retry_header: send_retry_header
486
488
  )
487
489
 
488
- decoded = Lithic::Internal::Util.decode_content(response, stream: stream)
490
+ headers = Lithic::Internal::Util.normalized_headers(response.each_header.to_h)
491
+ decoded = Lithic::Internal::Util.decode_content(headers, stream: stream)
489
492
  case req
490
493
  in {stream: Class => st}
491
494
  st.new(
492
495
  model: model,
493
496
  url: url,
494
497
  status: status,
498
+ headers: headers,
495
499
  response: response,
496
500
  unwrap: unwrap,
497
501
  stream: decoded
498
502
  )
499
503
  in {page: Class => page}
500
- page.new(client: self, req: req, headers: response, page_data: decoded)
504
+ page.new(client: self, req: req, headers: headers, page_data: decoded)
501
505
  else
502
506
  unwrapped = Lithic::Internal::Util.dig(decoded, unwrap)
503
507
  Lithic::Internal::Type::Converter.coerce(model, unwrapped)
@@ -39,7 +39,7 @@ module Lithic
39
39
  #
40
40
  # @param client [Lithic::Internal::Transport::BaseClient]
41
41
  # @param req [Hash{Symbol=>Object}]
42
- # @param headers [Hash{String=>String}, Net::HTTPHeader]
42
+ # @param headers [Hash{String=>String}]
43
43
  # @param page_data [Object]
44
44
  def initialize(client:, req:, headers:, page_data:)
45
45
  @client = client
@@ -6,14 +6,16 @@ module Lithic
6
6
  # @api private
7
7
  #
8
8
  # @example
9
- # # `account_holder_update_response` is a `Lithic::Models::AccountHolderUpdateResponse`
10
- # case account_holder_update_response
11
- # when Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse
12
- # puts(account_holder_update_response.token)
13
- # when Lithic::Models::AccountHolderUpdateResponse::PatchResponse
14
- # puts(account_holder_update_response.address)
9
+ # # `account_activity_list_response` is a `Lithic::Models::AccountActivityListResponse`
10
+ # case account_activity_list_response
11
+ # when Lithic::Models::AccountActivityListResponse::FinancialTransaction
12
+ # puts(account_activity_list_response.token)
13
+ # when Lithic::Models::AccountActivityListResponse::BookTransferTransaction
14
+ # puts(account_activity_list_response.category)
15
+ # when Lithic::Models::AccountActivityListResponse::CardTransaction
16
+ # # ...
15
17
  # else
16
- # puts(account_holder_update_response)
18
+ # puts(account_activity_list_response)
17
19
  # end
18
20
  module Union
19
21
  include Lithic::Internal::Type::Converter
@@ -566,7 +566,8 @@ module Lithic
566
566
  #
567
567
  # @return [Array(String, Enumerable<String>)]
568
568
  private def encode_multipart_streaming(body)
569
- boundary = SecureRandom.urlsafe_base64(60)
569
+ # RFC 1521 Section 7.2.1 says we should have 70 char maximum for boundary length
570
+ boundary = SecureRandom.urlsafe_base64(46)
570
571
 
571
572
  closing = []
572
573
  strio = writable_enum do |y|
@@ -647,7 +648,7 @@ module Lithic
647
648
  #
648
649
  # Assumes each chunk in stream has `Encoding::BINARY`.
649
650
  #
650
- # @param headers [Hash{String=>String}, Net::HTTPHeader]
651
+ # @param headers [Hash{String=>String}]
651
652
  # @param stream [Enumerable<String>]
652
653
  # @param suppress_error [Boolean]
653
654
  #
@@ -8,6 +8,8 @@ module Lithic
8
8
  module AccountActivityListResponse
9
9
  extend Lithic::Internal::Type::Union
10
10
 
11
+ discriminator :family
12
+
11
13
  # Financial transaction with inheritance from unified base transaction
12
14
  variant -> { Lithic::Models::AccountActivityListResponse::FinancialTransaction }
13
15
 
@@ -8,6 +8,8 @@ module Lithic
8
8
  module AccountActivityRetrieveTransactionResponse
9
9
  extend Lithic::Internal::Type::Union
10
10
 
11
+ discriminator :family
12
+
11
13
  # Financial transaction with inheritance from unified base transaction
12
14
  variant -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction }
13
15
 
@@ -15,7 +15,8 @@ module Lithic
15
15
 
16
16
  # @!attribute amount
17
17
  # Amount (in cents) to void. Typically this will match the amount in the original
18
- # authorization, but can be less.
18
+ # authorization, but can be less. Applies to authorization reversals only. An
19
+ # authorization expiry will always apply to the full pending amount.
19
20
  #
20
21
  # @return [Integer, nil]
21
22
  optional :amount, Integer
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.1.0.pre.alpha.44"
4
+ VERSION = "0.1.0.pre.alpha.46"
5
5
  end
@@ -33,6 +33,9 @@ module Lithic
33
33
  sig { returns(T.nilable(Integer)) }
34
34
  attr_accessor :status
35
35
 
36
+ sig { returns(T.nilable(T::Hash[String, String])) }
37
+ attr_accessor :headers
38
+
36
39
  sig { returns(T.nilable(T.anything)) }
37
40
  attr_accessor :body
38
41
 
@@ -41,6 +44,7 @@ module Lithic
41
44
  params(
42
45
  url: URI::Generic,
43
46
  status: T.nilable(Integer),
47
+ headers: T.nilable(T::Hash[String, String]),
44
48
  body: T.nilable(Object),
45
49
  request: NilClass,
46
50
  response: NilClass,
@@ -50,6 +54,7 @@ module Lithic
50
54
  def self.new(
51
55
  url:,
52
56
  status: nil,
57
+ headers: nil,
53
58
  body: nil,
54
59
  request: nil,
55
60
  response: nil,
@@ -70,6 +75,7 @@ module Lithic
70
75
  params(
71
76
  url: URI::Generic,
72
77
  status: NilClass,
78
+ headers: T.nilable(T::Hash[String, String]),
73
79
  body: NilClass,
74
80
  request: NilClass,
75
81
  response: NilClass,
@@ -79,6 +85,7 @@ module Lithic
79
85
  def self.new(
80
86
  url:,
81
87
  status: nil,
88
+ headers: nil,
82
89
  body: nil,
83
90
  request: nil,
84
91
  response: nil,
@@ -93,6 +100,7 @@ module Lithic
93
100
  params(
94
101
  url: URI::Generic,
95
102
  status: NilClass,
103
+ headers: T.nilable(T::Hash[String, String]),
96
104
  body: NilClass,
97
105
  request: NilClass,
98
106
  response: NilClass,
@@ -102,6 +110,7 @@ module Lithic
102
110
  def self.new(
103
111
  url:,
104
112
  status: nil,
113
+ headers: nil,
105
114
  body: nil,
106
115
  request: nil,
107
116
  response: nil,
@@ -116,13 +125,22 @@ module Lithic
116
125
  params(
117
126
  url: URI::Generic,
118
127
  status: Integer,
128
+ headers: T.nilable(T::Hash[String, String]),
119
129
  body: T.nilable(Object),
120
130
  request: NilClass,
121
131
  response: NilClass,
122
132
  message: T.nilable(String)
123
133
  ).returns(T.attached_class)
124
134
  end
125
- def self.for(url:, status:, body:, request:, response:, message: nil)
135
+ def self.for(
136
+ url:,
137
+ status:,
138
+ headers:,
139
+ body:,
140
+ request:,
141
+ response:,
142
+ message: nil
143
+ )
126
144
  end
127
145
 
128
146
  sig { returns(Integer) }
@@ -133,13 +151,22 @@ module Lithic
133
151
  params(
134
152
  url: URI::Generic,
135
153
  status: Integer,
154
+ headers: T.nilable(T::Hash[String, String]),
136
155
  body: T.nilable(Object),
137
156
  request: NilClass,
138
157
  response: NilClass,
139
158
  message: T.nilable(String)
140
159
  ).returns(T.attached_class)
141
160
  end
142
- def self.new(url:, status:, body:, request:, response:, message: nil)
161
+ def self.new(
162
+ url:,
163
+ status:,
164
+ headers:,
165
+ body:,
166
+ request:,
167
+ response:,
168
+ message: nil
169
+ )
143
170
  end
144
171
  end
145
172
 
@@ -84,10 +84,9 @@ module Lithic
84
84
 
85
85
  # @api private
86
86
  sig do
87
- params(
88
- status: Integer,
89
- headers: T.any(T::Hash[String, String], Net::HTTPHeader)
90
- ).returns(T::Boolean)
87
+ params(status: Integer, headers: T::Hash[String, String]).returns(
88
+ T::Boolean
89
+ )
91
90
  end
92
91
  def should_retry?(status, headers:)
93
92
  end
@@ -97,7 +96,7 @@ module Lithic
97
96
  params(
98
97
  request: Lithic::Internal::Transport::BaseClient::RequestInput,
99
98
  status: Integer,
100
- response_headers: T.any(T::Hash[String, String], Net::HTTPHeader)
99
+ response_headers: T::Hash[String, String]
101
100
  ).returns(Lithic::Internal::Transport::BaseClient::RequestInput)
102
101
  end
103
102
  def follow_redirect(request, status:, response_headers:)
@@ -30,7 +30,7 @@ module Lithic
30
30
  params(
31
31
  client: Lithic::Internal::Transport::BaseClient,
32
32
  req: Lithic::Internal::Transport::BaseClient::RequestComponents,
33
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
33
+ headers: T::Hash[String, String],
34
34
  page_data: T.anything
35
35
  ).void
36
36
  end
@@ -361,7 +361,7 @@ module Lithic
361
361
  # Assumes each chunk in stream has `Encoding::BINARY`.
362
362
  sig do
363
363
  params(
364
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
364
+ headers: T::Hash[String, String],
365
365
  stream: T::Enumerable[String],
366
366
  suppress_error: T::Boolean
367
367
  ).returns(T.anything)
@@ -19,7 +19,8 @@ module Lithic
19
19
  attr_accessor :token
20
20
 
21
21
  # Amount (in cents) to void. Typically this will match the amount in the original
22
- # authorization, but can be less.
22
+ # authorization, but can be less. Applies to authorization reversals only. An
23
+ # authorization expiry will always apply to the full pending amount.
23
24
  sig { returns(T.nilable(Integer)) }
24
25
  attr_reader :amount
25
26
 
@@ -55,7 +56,8 @@ module Lithic
55
56
  # The transaction token returned from the /v1/simulate/authorize response.
56
57
  token:,
57
58
  # Amount (in cents) to void. Typically this will match the amount in the original
58
- # authorization, but can be less.
59
+ # authorization, but can be less. Applies to authorization reversals only. An
60
+ # authorization expiry will always apply to the full pending amount.
59
61
  amount: nil,
60
62
  # Type of event to simulate. Defaults to `AUTHORIZATION_REVERSAL`.
61
63
  #
@@ -295,7 +295,8 @@ module Lithic
295
295
  # The transaction token returned from the /v1/simulate/authorize response.
296
296
  token:,
297
297
  # Amount (in cents) to void. Typically this will match the amount in the original
298
- # authorization, but can be less.
298
+ # authorization, but can be less. Applies to authorization reversals only. An
299
+ # authorization expiry will always apply to the full pending amount.
299
300
  amount: nil,
300
301
  # Type of event to simulate. Defaults to `AUTHORIZATION_REVERSAL`.
301
302
  #
@@ -21,11 +21,14 @@ module Lithic
21
21
 
22
22
  attr_accessor status: Integer?
23
23
 
24
+ attr_accessor headers: ::Hash[String, String]?
25
+
24
26
  attr_accessor body: top?
25
27
 
26
28
  def initialize: (
27
29
  url: URI::Generic,
28
30
  ?status: Integer?,
31
+ ?headers: ::Hash[String, String]?,
29
32
  ?body: Object?,
30
33
  ?request: nil,
31
34
  ?response: nil,
@@ -37,6 +40,7 @@ module Lithic
37
40
  def initialize: (
38
41
  url: URI::Generic,
39
42
  ?status: nil,
43
+ ?headers: ::Hash[String, String]?,
40
44
  ?body: nil,
41
45
  ?request: nil,
42
46
  ?response: nil,
@@ -48,6 +52,7 @@ module Lithic
48
52
  def initialize: (
49
53
  url: URI::Generic,
50
54
  ?status: nil,
55
+ ?headers: ::Hash[String, String]?,
51
56
  ?body: nil,
52
57
  ?request: nil,
53
58
  ?response: nil,
@@ -59,6 +64,7 @@ module Lithic
59
64
  def self.for: (
60
65
  url: URI::Generic,
61
66
  status: Integer,
67
+ headers: ::Hash[String, String]?,
62
68
  body: Object?,
63
69
  request: nil,
64
70
  response: nil,
@@ -68,6 +74,7 @@ module Lithic
68
74
  def initialize: (
69
75
  url: URI::Generic,
70
76
  status: Integer,
77
+ headers: ::Hash[String, String]?,
71
78
  body: Object?,
72
79
  request: nil,
73
80
  response: nil,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lithic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.alpha.44
4
+ version: 0.1.0.pre.alpha.46
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lithic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-09-11 00:00:00.000000000 Z
11
+ date: 2025-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool