Sha256: 78868507001175f5d18d8144c8fd0b0117f4c4027dd39d707a202716b61582b5
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2018-2024, by Samuel Williams. require_relative "request" require_relative "response" require "protocol/http1" require "protocol/http/peer" module Async module HTTP module Protocol module HTTP1 class Connection < ::Protocol::HTTP1::Connection def initialize(stream, version) super(stream) @version = version end def to_s "\#<#{self.class} negotiated #{@version}, #{@state}>" 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 peer @peer ||= ::Protocol::HTTP::Peer.for(@stream.io) end attr :count def concurrency 1 end # Can we use this connection to make requests? def viable? self.idle? && @stream&.readable? end def reusable? @persistent && @stream && !@stream.closed? end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
async-http-0.84.0 | lib/async/http/protocol/http1/connection.rb |
async-http-0.83.1 | lib/async/http/protocol/http1/connection.rb |