open_router_enhanced 1.2.1 → 1.2.2

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: 34c685a89892a839ba66999ed50a0ed066db83f3a21c95c96edfdc25ade6a2b5
4
- data.tar.gz: e3fdeb547d1588933cb85984f582d5d18db0b12e40c9adaa2dcb02f400f1b012
3
+ metadata.gz: d14a6a35444f5f2321779b457bcd3e72bbb6f549faed1271f845a094195a7cc7
4
+ data.tar.gz: 5633d120125f115e56cf00a4da5e6be0d2a16934180fd2c6f9b4088342ea2615
5
5
  SHA512:
6
- metadata.gz: c33bca90ab16de26ba7bc7d6c995314f2a5b93b99b1b60a8ffb3fae0eaac94edb275b3777e6bbdd86b34aafe11526aab946b857334013b40cb327620cb91a55c
7
- data.tar.gz: 790593fb868bb3728ae91630ecbbd85e660fcc1d00a51400cdcfb1fc10f0ef3395eb46dc2624a5af1590cfe6f8a788ae37f3fac651db362bb4556d6fc4e8ee46
6
+ metadata.gz: 5abeac77e6a1e81c3151df75b3450841912b74e3326f745eea5000be8f784822df73daaec90e92e928a1745df79a4eb335b1be922cd01c587a8b73c0b3cb391b
7
+ data.tar.gz: b6e344ffd954a89ebe79f7cf42a308f95e6e93569863e0a06ecb4b28d97d16ff6e656284312bb0dd80ad8943c3018f529794e03aa541624aa8f5b040dd1ca4cf
@@ -1,11 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "json"
4
- require "net/http"
5
- require "uri"
4
+ require "faraday"
6
5
  require "tmpdir"
7
6
  require "fileutils"
8
- require "openssl"
9
7
 
10
8
  module OpenRouter
11
9
  class ModelRegistryError < Error; end
@@ -18,30 +16,20 @@ module OpenRouter
18
16
  MAX_CACHE_SIZE_MB = 50 # Maximum cache size in megabytes
19
17
 
20
18
  class << self
21
- # Fetch models from OpenRouter API
19
+ # Fetch models from OpenRouter API using Faraday for consistent SSL handling
22
20
  def fetch_models_from_api
23
- uri = URI("#{API_BASE}/models")
24
-
25
- # Use configurable timeout and SSL settings
26
- http = Net::HTTP.new(uri.host, uri.port)
27
- http.use_ssl = true
28
- http.verify_mode = OpenSSL::SSL::VERIFY_PEER
29
- http.read_timeout = OpenRouter.configuration.model_registry_timeout
30
- http.open_timeout = OpenRouter.configuration.model_registry_timeout
31
-
32
- request = Net::HTTP::Get.new(uri)
33
- response = http.request(request)
34
-
35
- unless response.code == "200"
36
- raise ModelRegistryError,
37
- "Failed to fetch models from OpenRouter API: #{response.message}"
21
+ conn = Faraday.new(url: API_BASE) do |f|
22
+ f.options[:timeout] = OpenRouter.configuration.model_registry_timeout
23
+ f.options[:open_timeout] = OpenRouter.configuration.model_registry_timeout
24
+ f.response :raise_error
38
25
  end
39
26
 
27
+ response = conn.get("models")
40
28
  JSON.parse(response.body)
29
+ rescue Faraday::Error => e
30
+ raise ModelRegistryError, "Failed to fetch models from OpenRouter API: #{e.message}"
41
31
  rescue JSON::ParserError => e
42
32
  raise ModelRegistryError, "Failed to parse OpenRouter API response: #{e.message}"
43
- rescue StandardError => e
44
- raise ModelRegistryError, "Network error fetching models: #{e.message}"
45
33
  end
46
34
 
47
35
  # Ensure cache directory exists and set up cleanup
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenRouter
4
- VERSION = "1.2.1"
4
+ VERSION = "1.2.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: open_router_enhanced
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Stiens