Sha256: 40865a89814871d1a337d52902d970ab2d69d843fa58be438b0255d05164f3de
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2018-2023, by Samuel Williams. require 'protocol/http1' require_relative 'request' require_relative 'response' module Async module HTTP module Protocol module HTTP1 class Connection < ::Protocol::HTTP1::Connection def initialize(stream, version) super(stream) @ready = true @version = version end def to_s "\#<#{self.class} negotiated #{@version}, currently #{@ready ? 'ready' : 'in-use'}>" end def as_json(...) to_s end def to_json(...) as_json.to_json(...) end attr :version def http1? true end def http2? false end def read_line? @stream.read_until(CRLF) end def read_line @stream.read_until(CRLF) or raise EOFError, "Could not read line!" end def peer @stream.io end attr :count def concurrency 1 end # Can we use this connection to make requests? def viable? @ready && @stream&.connected? end def reusable? @ready && @persistent && @stream && !@stream.closed? end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
async-http-0.64.2 | lib/async/http/protocol/http1/connection.rb |