http-2-next 0.2.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/http/2/next.rb +1 -3
- data/lib/http/2/next/buffer.rb +7 -1
- data/lib/http/2/next/connection.rb +27 -16
- data/lib/http/2/next/emitter.rb +2 -3
- data/lib/http/2/next/error.rb +1 -0
- data/lib/http/2/next/extensions.rb +11 -1
- data/lib/http/2/next/flow_buffer.rb +1 -0
- data/lib/http/2/next/framer.rb +12 -10
- data/lib/http/2/next/header.rb +35 -0
- data/lib/http/2/next/header/compressor.rb +137 -0
- data/lib/http/2/next/header/decompressor.rb +141 -0
- data/lib/http/2/next/{compressor.rb → header/encoding_context.rb} +7 -298
- data/lib/http/2/next/{huffman.rb → header/huffman.rb} +5 -2
- data/lib/http/2/next/{huffman_statemachine.rb → header/huffman_statemachine.rb} +0 -0
- data/lib/http/2/next/server.rb +6 -4
- data/lib/http/2/next/stream.rb +3 -4
- data/lib/http/2/next/version.rb +1 -1
- data/lib/tasks/generate_huffman_table.rb +4 -4
- data/sig/buffer.rbs +21 -0
- data/sig/client.rbs +9 -0
- data/sig/connection.rbs +73 -0
- data/sig/emitter.rbs +13 -0
- data/sig/flow_buffer.rbs +23 -0
- data/sig/frame_buffer.rbs +13 -0
- data/sig/framer.rbs +25 -0
- data/sig/header.rbs +15 -0
- data/sig/header/compressor.rbs +23 -0
- data/sig/header/decompressor.rbs +22 -0
- data/sig/header/encoding_context.rbs +34 -0
- data/sig/header/huffman.rbs +9 -0
- data/sig/next.rbs +56 -0
- data/sig/server.rbs +12 -0
- data/sig/stream.rbs +77 -0
- metadata +27 -9
data/sig/server.rbs
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
module HTTP2Next
|
2
|
+
class Server < Connection
|
3
|
+
|
4
|
+
def upgrade: (String settings, Enumerable[header_pair] headers, String body) -> void
|
5
|
+
|
6
|
+
def origin_set=: (Array[_ToS]) -> void
|
7
|
+
|
8
|
+
private
|
9
|
+
|
10
|
+
def promise: (Stream parent, Enumerable[header_pair] headers, Array[Symbol] flags) { (Stream) -> void } -> void
|
11
|
+
end
|
12
|
+
end
|
data/sig/stream.rbs
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
module HTTP2Next
|
2
|
+
class Stream
|
3
|
+
include FlowBuffer
|
4
|
+
include Emitter
|
5
|
+
|
6
|
+
attr_reader id: Integer
|
7
|
+
attr_reader state: Symbol
|
8
|
+
attr_reader parent: Stream?
|
9
|
+
attr_reader weight: Integer
|
10
|
+
attr_reader dependency: Integer
|
11
|
+
attr_reader remote_window: Integer
|
12
|
+
attr_reader local_window: Integer
|
13
|
+
attr_reader closed: Symbol?
|
14
|
+
|
15
|
+
alias window local_window
|
16
|
+
|
17
|
+
def closed?: () -> bool
|
18
|
+
|
19
|
+
def receive: (frame) -> void
|
20
|
+
|
21
|
+
alias << receive
|
22
|
+
|
23
|
+
def verify_trailers: (frame) -> void
|
24
|
+
|
25
|
+
def calculate_content_length: (Integer?) -> void
|
26
|
+
|
27
|
+
def send: (frame) -> void
|
28
|
+
|
29
|
+
def headers: (Enumerable[header_pair] headers, ?end_headers: bool, ?end_stream: bool) -> void
|
30
|
+
|
31
|
+
def promise: (Enumerable[header_pair] headers, ?end_headers: bool) { (Stream) -> void } -> void
|
32
|
+
|
33
|
+
def reprioritize: (?weight: Integer, ?dependency: Integer, ?exclusive: bool) -> void
|
34
|
+
|
35
|
+
def data: (String payload, ?end_stream: bool) -> void
|
36
|
+
|
37
|
+
def chunk_data: (String payload, Integer max_size) { (String) -> void } -> String
|
38
|
+
|
39
|
+
def close: (Symbol error) -> void
|
40
|
+
| () -> void
|
41
|
+
|
42
|
+
def cancel: () -> void
|
43
|
+
|
44
|
+
def refuse: () -> void
|
45
|
+
|
46
|
+
def window_update: (Integer increment) -> void
|
47
|
+
|
48
|
+
private
|
49
|
+
|
50
|
+
def initialize: (
|
51
|
+
connection: Connection,
|
52
|
+
id: Integer,
|
53
|
+
?weight: Integer,
|
54
|
+
?dependency: Integer,
|
55
|
+
?exclusive: bool,
|
56
|
+
?parent: Stream?,
|
57
|
+
?state: Symbol
|
58
|
+
) -> untyped
|
59
|
+
|
60
|
+
def transition: (frame, bool sending) -> void
|
61
|
+
|
62
|
+
def event: (Symbol newstate) -> void
|
63
|
+
|
64
|
+
def complete_transition: (frame) -> void
|
65
|
+
|
66
|
+
def process_priority: (frame) -> void
|
67
|
+
|
68
|
+
def end_frame?: () -> bool
|
69
|
+
|
70
|
+
def stream_error: (Symbol error, ?msg: String?) -> void
|
71
|
+
| () -> void
|
72
|
+
|
73
|
+
alias error stream_error
|
74
|
+
|
75
|
+
def manage_state: (frame) { () -> void } -> void
|
76
|
+
end
|
77
|
+
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: http-2-next
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tiago Cardoso
|
8
8
|
- Ilya Grigorik
|
9
9
|
- Kaoru Maeda
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-12-09 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: Pure-ruby HTTP 2.0 protocol implementation
|
16
16
|
email:
|
@@ -23,24 +23,42 @@ files:
|
|
23
23
|
- lib/http/2/next.rb
|
24
24
|
- lib/http/2/next/buffer.rb
|
25
25
|
- lib/http/2/next/client.rb
|
26
|
-
- lib/http/2/next/compressor.rb
|
27
26
|
- lib/http/2/next/connection.rb
|
28
27
|
- lib/http/2/next/emitter.rb
|
29
28
|
- lib/http/2/next/error.rb
|
30
29
|
- lib/http/2/next/extensions.rb
|
31
30
|
- lib/http/2/next/flow_buffer.rb
|
32
31
|
- lib/http/2/next/framer.rb
|
33
|
-
- lib/http/2/next/
|
34
|
-
- lib/http/2/next/
|
32
|
+
- lib/http/2/next/header.rb
|
33
|
+
- lib/http/2/next/header/compressor.rb
|
34
|
+
- lib/http/2/next/header/decompressor.rb
|
35
|
+
- lib/http/2/next/header/encoding_context.rb
|
36
|
+
- lib/http/2/next/header/huffman.rb
|
37
|
+
- lib/http/2/next/header/huffman_statemachine.rb
|
35
38
|
- lib/http/2/next/server.rb
|
36
39
|
- lib/http/2/next/stream.rb
|
37
40
|
- lib/http/2/next/version.rb
|
38
41
|
- lib/tasks/generate_huffman_table.rb
|
42
|
+
- sig/buffer.rbs
|
43
|
+
- sig/client.rbs
|
44
|
+
- sig/connection.rbs
|
45
|
+
- sig/emitter.rbs
|
46
|
+
- sig/flow_buffer.rbs
|
47
|
+
- sig/frame_buffer.rbs
|
48
|
+
- sig/framer.rbs
|
49
|
+
- sig/header.rbs
|
50
|
+
- sig/header/compressor.rbs
|
51
|
+
- sig/header/decompressor.rbs
|
52
|
+
- sig/header/encoding_context.rbs
|
53
|
+
- sig/header/huffman.rbs
|
54
|
+
- sig/next.rbs
|
55
|
+
- sig/server.rbs
|
56
|
+
- sig/stream.rbs
|
39
57
|
homepage: https://gitlab.com/honeyryderchuck/http-2-next
|
40
58
|
licenses:
|
41
59
|
- MIT
|
42
60
|
metadata: {}
|
43
|
-
post_install_message:
|
61
|
+
post_install_message:
|
44
62
|
rdoc_options: []
|
45
63
|
require_paths:
|
46
64
|
- lib
|
@@ -55,8 +73,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
55
73
|
- !ruby/object:Gem::Version
|
56
74
|
version: '0'
|
57
75
|
requirements: []
|
58
|
-
rubygems_version: 3.1.
|
59
|
-
signing_key:
|
76
|
+
rubygems_version: 3.1.4
|
77
|
+
signing_key:
|
60
78
|
specification_version: 4
|
61
79
|
summary: Pure-ruby HTTP 2.0 protocol implementation
|
62
80
|
test_files: []
|