Sha256: 7e9ffc02bc68a5a95afe2b882784769ec18c2f5a80eabc9f59256978f4be66a4
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2019-2023, by Samuel Williams. require_relative 'connection' module Protocol module HTTP2 class Server < Connection def initialize(framer) super(framer, 2) end def local_stream_id?(id) id.even? end def remote_stream_id?(id) id.odd? end def valid_remote_stream_id?(stream_id) stream_id.odd? end def read_connection_preface(settings = []) if @state == :new @framer.read_connection_preface send_settings(settings) read_frame do |frame| unless frame.is_a? SettingsFrame raise ProtocolError, "First frame must be #{SettingsFrame}, but got #{frame.class}" end end else raise ProtocolError, "Cannot read connection preface in state #{@state}" end end def accept_push_promise_stream(stream_id, &block) raise ProtocolError, "Cannot accept push promises on server!" end def enable_push? @remote_settings.enable_push? end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
protocol-http2-0.17.0 | lib/protocol/http2/server.rb |