lib/async/http/endpoint.rb in async-http-0.48.2 vs lib/async/http/endpoint.rb in async-http-0.49.0
- old
+ new
@@ -159,25 +159,12 @@
verify_mode: self.ssl_verify_mode
)
end
end
- def tcp_options
- options = @options.dup
-
- options.delete(:scheme)
- options.delete(:port)
- options.delete(:hostname)
- options.delete(:ssl_context)
- options.delete(:alpn_protocols)
- options.delete(:protocol)
-
- return options
- end
-
def build_endpoint(endpoint = nil)
- endpoint ||= Async::IO::Endpoint.tcp(self.hostname, port, tcp_options)
+ endpoint ||= tcp_endpoint
if secure?
# Wrap it in SSL:
return Async::IO::SSLEndpoint.new(endpoint,
ssl_context: self.ssl_context,
@@ -202,12 +189,12 @@
end
def each
return to_enum unless block_given?
- self.endpoint.each do |endpoint|
- yield self.class.new(@url, endpoint, @options)
+ self.tcp_endpoint.each do |endpoint|
+ yield self.class.new(@url, endpoint, **@options)
end
end
def key
[@url.scheme, @url.userinfo, @url.host, @url.port, @options]
@@ -217,9 +204,28 @@
self.key.eql? other.key
end
def hash
self.key.hash
+ end
+
+ protected
+
+ def tcp_options
+ options = @options.dup
+
+ options.delete(:scheme)
+ options.delete(:port)
+ options.delete(:hostname)
+ options.delete(:ssl_context)
+ options.delete(:alpn_protocols)
+ options.delete(:protocol)
+
+ return options
+ end
+
+ def tcp_endpoint
+ Async::IO::Endpoint.tcp(self.hostname, port, **tcp_options)
end
end
end
end
\ No newline at end of file