From a0c8c2fb076dedaf8d5a383b745c1ec5a8e36a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Lled=C3=B3?= Date: Tue, 19 Aug 2025 13:36:45 +0200 Subject: [PATCH] Endpoint: Add support for unix sockets --- lib/async/redis/endpoint.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/async/redis/endpoint.rb b/lib/async/redis/endpoint.rb index a76e334..de50dde 100644 --- a/lib/async/redis/endpoint.rb +++ b/lib/async/redis/endpoint.rb @@ -6,6 +6,7 @@ require "io/endpoint" require "io/endpoint/host_endpoint" require "io/endpoint/ssl_endpoint" +require "io/endpoint/unix_endpoint" require_relative "protocol/resp2" require_relative "protocol/authenticated" @@ -40,6 +41,11 @@ def self.remote(host, port = 6379, **options) # URI::Generic.build automatically handles IPv6 addresses correctly: self.new(URI::Generic.build(scheme: "redis", host: host, port: port), **options) end + + def self.unix(path, **options) + unix_endpoint = ::IO::Endpoint.unix(path, Socket::PF_UNIX) + self.new(URI::Generic.build(scheme: "unix", path:), unix_endpoint, **options) + end SCHEMES = { "redis" => URI::Generic,