Sha256: 3b9b98116d13f6c9d9986546ee46bd661d2b7e3562f5f5b1318d6bfc799c9b8c
Contents?: true
Size: 1.03 KB
Versions: 3
Compression:
Stored size: 1.03 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| raise ProtocolError, "First frame must be #{SettingsFrame}, but got #{frame.class}" unless frame.is_a? SettingsFrame 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
protocol-http2-0.16.0 | lib/protocol/http2/server.rb |
protocol-http2-0.15.1 | lib/protocol/http2/server.rb |
protocol-http2-0.15.0 | lib/protocol/http2/server.rb |