Test the pooled-connection class check on its own, and name the class

The rejection cases built plain Net::HTTP connections that were also
unpinned or proxied, so they failed the guard either way. They're built
as WebPush::Connections::HTTP now, so each fails only for its stated
reason, and a pinned, direct, TLS plain Net::HTTP is refused for being
one. The error says which class is required.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Sam RubyandClaude Opus 5.5 authored and Rosa Gutierrez committed 2026-10-09 23:41:45 +02:00
1 parent 2daa01e26b
commit edbc779f4d
2 files changed
+6 -5

No files matched your search

+1 -1
View File
@@ -42,7 +42,7 @@ class WebPush::Connections
def request(http, request)
unless http.is_a?(HTTP) && http.ipaddr && !http.proxy? && http.use_ssl? && !http.started?
raise ArgumentError, "Only new, direct TLS connections pinned to an address are pooled"
raise ArgumentError, "Only new, direct TLS connections pinned to an address and opened as WebPush::Connections::HTTP are pooled"
end
address = [ http.address, http.port, http.ipaddr ]