Class: HTTPX::UNIX
Constant Summary
Constants included from Loggable
Loggable::COLORS, Loggable::USE_DEBUG_LOG
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
- #expired? ⇒ Boolean
-
#initialize(origin, path, 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, path, 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 |
# File 'lib/httpx/io/unix.rb', line 11 def initialize(origin, path, ) @addresses = [] @hostname = origin.host @state = :idle @options = @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 elsif path @path = path else raise Error, "No path given where to store the socket" 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
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/httpx/io/unix.rb', line 37 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 |
#expired? ⇒ Boolean
54 55 56 |
# File 'lib/httpx/io/unix.rb', line 54 def expired? false end |
#inspect ⇒ Object
:nocov:
59 60 61 |
# File 'lib/httpx/io/unix.rb', line 59 def inspect "#<#{self.class}(path: #{@path}): (state: #{@state})>" end |