Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.0-alpha.34"
".": "0.1.0-alpha.35"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 46
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-b817e7a30a6366c063a8c9a334d5be281eb8d93e21acc8c8219d3bdc95043deb.yml
openapi_spec_hash: d4cc4a5cba9f13986e38d148d330aa00
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-970ab04a97244c68824c0c52e06925cba14fb7dbfc36c03167c1afe74cd1b150.yml
openapi_spec_hash: 315e7859c3f77311261fb824b74a8247
config_hash: f2846563903bf75ab0858872154df0f7
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 0.1.0-alpha.35 (2025-11-09)

Full Changelog: [v0.1.0-alpha.34...v0.1.0-alpha.35](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.34...v0.1.0-alpha.35)

### Features

* **api:** api update ([9ef0063](https://github.com/Finch-API/finch-api-ruby/commit/9ef0063aae5d7d717450833073f81fc6f9834566))
* **api:** api update ([edeff3b](https://github.com/Finch-API/finch-api-ruby/commit/edeff3bdb90eb9cecbc26b3a6c0c569e594425dd))


### Bug Fixes

* better thread safety via early initializing SSL store during HTTP client creation ([ed1ac81](https://github.com/Finch-API/finch-api-ruby/commit/ed1ac81b9f90890405a00c49b23239dbd1d088dd))

## 0.1.0-alpha.34 (2025-11-04)

Full Changelog: [v0.1.0-alpha.33...v0.1.0-alpha.34](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.33...v0.1.0-alpha.34)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
finch-api (0.1.0.pre.alpha.34)
finch-api (0.1.0.pre.alpha.35)
connection_pool

GEM
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "finch-api", "~> 0.1.0.pre.alpha.34"
gem "finch-api", "~> 0.1.0.pre.alpha.35"
```

<!-- x-release-please-end -->
Expand Down
1 change: 1 addition & 0 deletions lib/finch_api.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
require "etc"
require "json"
require "net/http"
require "openssl"
require "pathname"
require "rbconfig"
require "securerandom"
Expand Down
8 changes: 6 additions & 2 deletions lib/finch_api/internal/transport/pooled_net_requester.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@ class PooledNetRequester
class << self
# @api private
#
# @param cert_store [OpenSSL::X509::Store]
# @param url [URI::Generic]
#
# @return [Net::HTTP]
def connect(url)
def connect(cert_store:, url:)
port =
case [url.port, url.scheme]
in [Integer, _]
Expand All @@ -33,6 +34,8 @@ def connect(url)
Net::HTTP.new(url.host, port).tap do
_1.use_ssl = %w[https wss].include?(url.scheme)
_1.max_retries = 0

(_1.cert_store = cert_store) if _1.use_ssl?
end
end

Expand Down Expand Up @@ -102,7 +105,7 @@ def build_request(request, &blk)
pool =
@mutex.synchronize do
@pools[origin] ||= ConnectionPool.new(size: @size) do
self.class.connect(url)
self.class.connect(cert_store: @cert_store, url: url)
end
end

Expand Down Expand Up @@ -192,6 +195,7 @@ def execute(request)
def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
@mutex = Mutex.new
@size = size
@cert_store = OpenSSL::X509::Store.new.tap(&:set_default_paths)
@pools = {}
end

Expand Down
94 changes: 68 additions & 26 deletions lib/finch_api/models/hris/benefits/individual_benefit.rb

Large diffs are not rendered by default.

10 changes: 1 addition & 9 deletions lib/finch_api/models/introspection.rb
Original file line number Diff line number Diff line change
Expand Up @@ -346,20 +346,12 @@ class Entity < FinchAPI::Internal::Type::BaseModel
# @return [String, nil]
required :source_id, String, nil?: true

# @!attribute type
# The type of entity
#
# @return [String, nil]
required :type, String, nil?: true

# @!method initialize(id:, name:, source_id:, type:)
# @!method initialize(id:, name:, source_id:)
# @param id [String] The connection account ID for this entity
#
# @param name [String, nil] The name of the entity (payroll provider company name)
#
# @param source_id [String, nil] The source ID of the entity
#
# @param type [String, nil] The type of entity
end
end
end
Expand Down
8 changes: 3 additions & 5 deletions lib/finch_api/models/request_forwarding_forward_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,8 @@ class Request < FinchAPI::Internal::Type::BaseModel
# @!attribute headers
# The HTTP headers that were specified for the forwarded request.
#
# @return [Hash{Symbol=>Object, nil}, nil]
optional :headers,
FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true],
nil?: true
# @return [Hash{Symbol=>String}, nil]
optional :headers, FinchAPI::Internal::Type::HashOf[String], nil?: true

# @!attribute params
# The query parameters that were specified for the forwarded request.
Expand All @@ -99,7 +97,7 @@ class Request < FinchAPI::Internal::Type::BaseModel
#
# @param data [String, Hash{Symbol=>Object, nil}, nil] The body that was specified for the forwarded request.
#
# @param headers [Hash{Symbol=>Object, nil}, nil] The HTTP headers that were specified for the forwarded request.
# @param headers [Hash{Symbol=>String}, nil] The HTTP headers that were specified for the forwarded request.
#
# @param params [Hash{Symbol=>Object, nil}, nil] The query parameters that were specified for the forwarded request.

Expand Down
2 changes: 1 addition & 1 deletion lib/finch_api/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module FinchAPI
VERSION = "0.1.0.pre.alpha.34"
VERSION = "0.1.0.pre.alpha.35"
end
1 change: 1 addition & 0 deletions manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ dependencies:
- etc
- json
- net/http
- openssl
- pathname
- rbconfig
- securerandom
Expand Down
8 changes: 6 additions & 2 deletions rbi/finch_api/internal/transport/pooled_net_requester.rbi
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,12 @@ module FinchAPI

class << self
# @api private
sig { params(url: URI::Generic).returns(Net::HTTP) }
def connect(url)
sig do
params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns(
Net::HTTP
)
end
def connect(cert_store:, url:)
end

# @api private
Expand Down
Loading