Class: HTTPX::UNIX
Constant Summary
Constants included from Loggable
Instance Attribute Summary collapse
-
#path ⇒ Object
(also: #host)
readonly
Returns the value of attribute path.
Attributes inherited from TCP
#addresses, #interests, #ip, #port, #state
Instance Method Summary collapse
- #connect ⇒ Object
-
#initialize(origin, addresses, options) ⇒ UNIX
constructor
A new instance of UNIX.
-
#inspect ⇒ Object
:nocov:.
Methods inherited from TCP
#add_addresses, #close, #closed?, #connected?, #protocol, #read, #socket, #to_io, #write
Methods included from Loggable
Constructor Details
#initialize(origin, addresses, options) ⇒ UNIX
Returns a new instance of UNIX.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/httpx/io/unix.rb', line 11 def initialize(origin, addresses, ) @addresses = [] @hostname = origin.host @state = :idle @options = Options.new() @fallback_protocol = @options.fallback_protocol if @options.io @io = case @options.io when Hash @options.io[origin.] else @options.io end raise Error, "Given IO objects do not match the request authority" unless @io @path = @io.path @keep_open = true @state = :connected else if @options. # :nocov: warn ":transport_options is deprecated, use :addresses instead" @path = @options.[:path] # :nocov: else @path = addresses.first end end @io ||= build_socket end |
Instance Attribute Details
#path ⇒ Object (readonly) Also known as: host
Returns the value of attribute path.
7 8 9 |
# File 'lib/httpx/io/unix.rb', line 7 def path @path end |
Instance Method Details
#connect ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/httpx/io/unix.rb', line 42 def connect return unless closed? begin if @io.closed? transition(:idle) @io = build_socket end @io.connect_nonblock(Socket.sockaddr_un(@path)) rescue Errno::EISCONN end transition(:connected) rescue Errno::EINPROGRESS, Errno::EALREADY, ::IO::WaitReadable end |
#inspect ⇒ Object
:nocov:
60 61 62 |
# File 'lib/httpx/io/unix.rb', line 60 def inspect "#<#{self.class}(path: #{@path}): (state: #{@state})>" end |