Module: Async::HTTP::Protocol::HTTP2
- Defined in:
- lib/async/http/protocol/http2.rb,
lib/async/http/protocol/http2/client.rb,
lib/async/http/protocol/http2/server.rb,
lib/async/http/protocol/http2/stream.rb,
lib/async/http/protocol/http2/promise.rb,
lib/async/http/protocol/http2/request.rb,
lib/async/http/protocol/http2/response.rb,
lib/async/http/protocol/http2/connection.rb
Defined Under Namespace
Modules: Connection, WithPush
Classes: Client, Promise, Request, Response, Server, Stream
Constant Summary
collapse
- CLIENT_SETTINGS =
{
::HTTP::Protocol::HTTP2::Settings::ENABLE_PUSH => 0,
::HTTP::Protocol::HTTP2::Settings::MAXIMUM_CONCURRENT_STREAMS => 256,
::HTTP::Protocol::HTTP2::Settings::MAXIMUM_FRAME_SIZE => 0x100000,
::HTTP::Protocol::HTTP2::Settings::INITIAL_WINDOW_SIZE => 0x7FFFFFFF,
}
- SERVER_SETTINGS =
{
::HTTP::Protocol::HTTP2::Settings::ENABLE_PUSH => 1,
::HTTP::Protocol::HTTP2::Settings::MAXIMUM_CONCURRENT_STREAMS => 32,
::HTTP::Protocol::HTTP2::Settings::MAXIMUM_FRAME_SIZE => 0x100000,
::HTTP::Protocol::HTTP2::Settings::INITIAL_WINDOW_SIZE => 0x7FFFFFFF,
}
- HTTPS =
'https'.freeze
- SCHEME =
':scheme'.freeze
- METHOD =
':method'.freeze
- PATH =
':path'.freeze
- AUTHORITY =
':authority'.freeze
- REASON =
'reason'.freeze
- STATUS =
':status'.freeze
- VERSION =
'HTTP/2.0'.freeze
- CONTENT_LENGTH =
'content-length'
Class Method Summary
collapse
Class Method Details
.client(stream, settings = CLIENT_SETTINGS) ⇒ Object
43
44
45
46
47
48
49
50
|
# File 'lib/async/http/protocol/http2.rb', line 43
def self.client(stream, settings = CLIENT_SETTINGS)
client = Client.new(stream)
client.send_connection_preface(settings)
client.start_connection
return client
end
|
.server(stream, settings = SERVER_SETTINGS) ⇒ Object
52
53
54
55
56
57
58
59
|
# File 'lib/async/http/protocol/http2.rb', line 52
def self.server(stream, settings = SERVER_SETTINGS)
server = Server.new(stream)
server.read_connection_preface(settings)
server.start_connection
return server
end
|