e621stream 0.0.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 +7 -0
- data/LICENSE +21 -0
- data/README.md +35 -0
- data/lib/e621stream/client/options.rb +20 -0
- data/lib/e621stream/client.rb +211 -0
- data/lib/e621stream/close_codes.rb +23 -0
- data/lib/e621stream/event.rb +24 -0
- data/lib/e621stream/events.rb +29 -0
- data/lib/e621stream/stream_error.rb +18 -0
- data/lib/e621stream/version.rb +5 -0
- data/lib/e621stream.rb +18 -0
- data/sorbet/config +6 -0
- data/sorbet/rbi/annotations/.gitattributes +1 -0
- data/sorbet/rbi/annotations/minitest.rbi +120 -0
- data/sorbet/rbi/annotations/rainbow.rbi +269 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/ast@2.4.3.rbi +550 -0
- data/sorbet/rbi/gems/async-http@0.105.0.rbi +1649 -0
- data/sorbet/rbi/gems/async-pool@0.12.0.rbi +219 -0
- data/sorbet/rbi/gems/async-websocket@0.30.2.rbi +271 -0
- data/sorbet/rbi/gems/async@2.46.0.rbi +2193 -0
- data/sorbet/rbi/gems/benchmark@0.5.0.rbi +495 -0
- data/sorbet/rbi/gems/console@1.38.0.rbi +1552 -0
- data/sorbet/rbi/gems/erb@6.0.7.rbi +1581 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +153 -0
- data/sorbet/rbi/gems/fiber-annotation@0.2.0.rbi +62 -0
- data/sorbet/rbi/gems/fiber-local@1.1.0.rbi +36 -0
- data/sorbet/rbi/gems/fiber-storage@1.0.1.rbi +43 -0
- data/sorbet/rbi/gems/io-console@0.9.5.rbi +9 -0
- data/sorbet/rbi/gems/io-endpoint@0.19.0.rbi +1079 -0
- data/sorbet/rbi/gems/io-event@1.22.3.rbi +971 -0
- data/sorbet/rbi/gems/io-stream@0.14.0.rbi +805 -0
- data/sorbet/rbi/gems/json@3.1.0.rbi +1929 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.6.rbi +9 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
- data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
- data/sorbet/rbi/gems/minitest@5.27.0.rbi +1499 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +147 -0
- data/sorbet/rbi/gems/openssl@4.0.2.rbi +4366 -0
- data/sorbet/rbi/gems/parallel@2.3.0.rbi +332 -0
- data/sorbet/rbi/gems/parser@3.3.13.0.rbi +5146 -0
- data/sorbet/rbi/gems/pp@0.6.4.rbi +373 -0
- data/sorbet/rbi/gems/prettyprint@0.2.1.rbi +476 -0
- data/sorbet/rbi/gems/prism@1.9.0.rbi +42213 -0
- data/sorbet/rbi/gems/protocol-hpack@1.5.1.rbi +418 -0
- data/sorbet/rbi/gems/protocol-http1@0.41.1.rbi +894 -0
- data/sorbet/rbi/gems/protocol-http2@0.29.2.rbi +2277 -0
- data/sorbet/rbi/gems/protocol-http@0.72.1.rbi +3801 -0
- data/sorbet/rbi/gems/protocol-rack@0.23.0.rbi +9 -0
- data/sorbet/rbi/gems/protocol-url@0.19.0.rbi +9 -0
- data/sorbet/rbi/gems/protocol-websocket@0.21.3.rbi +1087 -0
- data/sorbet/rbi/gems/racc@1.8.1.rbi +169 -0
- data/sorbet/rbi/gems/rack@3.2.8.rbi +9 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +362 -0
- data/sorbet/rbi/gems/rake@13.4.2.rbi +3127 -0
- data/sorbet/rbi/gems/rbi@0.5.0.rbi +5875 -0
- data/sorbet/rbi/gems/rbs@4.2.0.rbi +7133 -0
- data/sorbet/rbi/gems/rdoc@8.1.0.rbi +9 -0
- data/sorbet/rbi/gems/regexp_parser@2.13.1.rbi +3500 -0
- data/sorbet/rbi/gems/reline@0.7.0.rbi +2449 -0
- data/sorbet/rbi/gems/require-hooks@0.5.1.rbi +152 -0
- data/sorbet/rbi/gems/rexml@3.4.4.rbi +4905 -0
- data/sorbet/rbi/gems/rubocop-ast@1.51.0.rbi +7230 -0
- data/sorbet/rbi/gems/rubocop-rake@0.7.1.rbi +314 -0
- data/sorbet/rbi/gems/rubocop@1.92.2.rbi +69094 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
- data/sorbet/rbi/gems/rubydex@0.4.4.rbi +1620 -0
- data/sorbet/rbi/gems/spoom@1.8.13.rbi +7380 -0
- data/sorbet/rbi/gems/tapioca@0.20.0.rbi +3752 -0
- data/sorbet/rbi/gems/thor@1.5.0.rbi +3870 -0
- data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
- data/sorbet/rbi/gems/unicode-display_width@3.3.0.rbi +130 -0
- data/sorbet/rbi/gems/unicode-emoji@4.3.0.rbi +254 -0
- data/sorbet/rbi/gems/zeitwerk@2.8.3.rbi +1178 -0
- data/sorbet/tapioca/config.yml +13 -0
- data/sorbet/tapioca/require.rb +4 -0
- metadata +175 -0
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
|
|
3
|
+
# DO NOT EDIT MANUALLY
|
|
4
|
+
# This is an autogenerated file for types exported from the `protocol-hpack` gem.
|
|
5
|
+
# Please instead update this file by running `bin/tapioca gem protocol-hpack`.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# Released under the MIT License.
|
|
9
|
+
# Copyright, 2019-2024, by Samuel Williams.
|
|
10
|
+
# Machine generated Huffman decoder state machine.
|
|
11
|
+
# DO NOT EDIT THIS FILE.
|
|
12
|
+
# Released under the MIT License.
|
|
13
|
+
# Copyright, 2018-2024, by Samuel Williams.
|
|
14
|
+
#
|
|
15
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/version.rb:6
|
|
16
|
+
module Protocol; end
|
|
17
|
+
|
|
18
|
+
# Implementation of header compression for HTTP 2.0 (HPACK) format adapted
|
|
19
|
+
# to efficiently represent HTTP headers in the context of HTTP 2.0.
|
|
20
|
+
#
|
|
21
|
+
# - http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-10
|
|
22
|
+
#
|
|
23
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/version.rb:7
|
|
24
|
+
module Protocol::HPACK; end
|
|
25
|
+
|
|
26
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:19
|
|
27
|
+
Protocol::HPACK::CHANGE_TABLE_SIZE_TYPE = T.let(T.unsafe(nil), Hash)
|
|
28
|
+
|
|
29
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/error.rb:11
|
|
30
|
+
class Protocol::HPACK::CompressionError < ::Protocol::HPACK::Error; end
|
|
31
|
+
|
|
32
|
+
# Responsible for encoding header key-value pairs using HPACK algorithm.
|
|
33
|
+
#
|
|
34
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:44
|
|
35
|
+
class Protocol::HPACK::Compressor
|
|
36
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:45
|
|
37
|
+
def initialize(buffer, context = T.unsafe(nil), table_size_limit: T.unsafe(nil)); end
|
|
38
|
+
|
|
39
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:54
|
|
40
|
+
def buffer; end
|
|
41
|
+
|
|
42
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:55
|
|
43
|
+
def context; end
|
|
44
|
+
|
|
45
|
+
# Encodes provided list of HTTP headers.
|
|
46
|
+
#
|
|
47
|
+
# @param headers [Array] +[[name, value], ...]+
|
|
48
|
+
# @return [Buffer]
|
|
49
|
+
#
|
|
50
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:173
|
|
51
|
+
def encode(headers, table_size = T.unsafe(nil)); end
|
|
52
|
+
|
|
53
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:93
|
|
54
|
+
def huffman; end
|
|
55
|
+
|
|
56
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:56
|
|
57
|
+
def offset; end
|
|
58
|
+
|
|
59
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:52
|
|
60
|
+
def table_size_limit; end
|
|
61
|
+
|
|
62
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:58
|
|
63
|
+
def write_bytes(bytes); end
|
|
64
|
+
|
|
65
|
+
# Encodes header command with appropriate header representation.
|
|
66
|
+
#
|
|
67
|
+
# @param h [Hash] header command
|
|
68
|
+
# @param buffer [String]
|
|
69
|
+
# @return [Buffer]
|
|
70
|
+
#
|
|
71
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:144
|
|
72
|
+
def write_header(command); end
|
|
73
|
+
|
|
74
|
+
# Encodes provided value via integer representation.
|
|
75
|
+
# - http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-10#section-5.1
|
|
76
|
+
#
|
|
77
|
+
# If I < 2^N - 1, encode I on N bits
|
|
78
|
+
# Else
|
|
79
|
+
# encode 2^N - 1 on N bits
|
|
80
|
+
# I = I - (2^N - 1)
|
|
81
|
+
# While I >= 128
|
|
82
|
+
# Encode (I % 128 + 128) on 8 bits
|
|
83
|
+
# I = I / 128
|
|
84
|
+
# encode (I) on 8 bits
|
|
85
|
+
#
|
|
86
|
+
# @param value [Integer] value to encode
|
|
87
|
+
# @param bits [Integer] number of available bits
|
|
88
|
+
# @return [String] binary string
|
|
89
|
+
#
|
|
90
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:77
|
|
91
|
+
def write_integer(value, bits); end
|
|
92
|
+
|
|
93
|
+
# Encodes provided value via string literal representation.
|
|
94
|
+
# - http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-10#section-5.2
|
|
95
|
+
#
|
|
96
|
+
# * The string length, defined as the number of bytes needed to store
|
|
97
|
+
# its UTF-8 representation, is represented as an integer with a seven
|
|
98
|
+
# bits prefix. If the string length is strictly less than 127, it is
|
|
99
|
+
# represented as one byte.
|
|
100
|
+
# * If the bit 7 of the first byte is 1, the string value is represented
|
|
101
|
+
# as a list of Huffman encoded octets
|
|
102
|
+
# (padded with bit 1's until next octet boundary).
|
|
103
|
+
# * If the bit 7 of the first byte is 0, the string value is
|
|
104
|
+
# represented as a list of UTF-8 encoded octets.
|
|
105
|
+
#
|
|
106
|
+
# :never Do not use Huffman encoding
|
|
107
|
+
# :always Always use Huffman encoding
|
|
108
|
+
# :shorter Use Huffman when the result is strictly shorter
|
|
109
|
+
#
|
|
110
|
+
# @param string [String]
|
|
111
|
+
# @return [String] binary string
|
|
112
|
+
#
|
|
113
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:117
|
|
114
|
+
def write_string(string, huffman = T.unsafe(nil)); end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# To decompress header blocks, a decoder only needs to maintain a
|
|
118
|
+
# dynamic table as a decoding context.
|
|
119
|
+
# No other state information is needed.
|
|
120
|
+
#
|
|
121
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:33
|
|
122
|
+
class Protocol::HPACK::Context
|
|
123
|
+
# Initializes compression context with appropriate client/server defaults and maximum size of the dynamic table.
|
|
124
|
+
#
|
|
125
|
+
# @param table [Array] Table of header key-value pairs.
|
|
126
|
+
# @option huffman [Symbol] One of `:always`, `:never`, `:shorter`. Controls use of compression.
|
|
127
|
+
# @option index [Symbol] One of `:all`, `:static`, `:never`. Controls use of static/dynamic tables.
|
|
128
|
+
# @option table_size [Integer] The current maximum dynamic table size.
|
|
129
|
+
#
|
|
130
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:119
|
|
131
|
+
def initialize(table = T.unsafe(nil), huffman: T.unsafe(nil), index: T.unsafe(nil), table_size: T.unsafe(nil)); end
|
|
132
|
+
|
|
133
|
+
# Emits command for a header.
|
|
134
|
+
# Prefer static table over dynamic table.
|
|
135
|
+
# Prefer exact match over name-only match.
|
|
136
|
+
#
|
|
137
|
+
# +@index+ controls whether to use the dynamic table,
|
|
138
|
+
# static table, or both.
|
|
139
|
+
# :never Do not use dynamic table or static table reference at all.
|
|
140
|
+
# :static Use static table only.
|
|
141
|
+
# :all Use all of them.
|
|
142
|
+
#
|
|
143
|
+
# @param name [String]
|
|
144
|
+
# @param value [String]
|
|
145
|
+
# @return [Hash] command
|
|
146
|
+
#
|
|
147
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:254
|
|
148
|
+
def add_command(name, value); end
|
|
149
|
+
|
|
150
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:307
|
|
151
|
+
def change_table_size(size); end
|
|
152
|
+
|
|
153
|
+
# Returns current table size in octets
|
|
154
|
+
# @return [Integer]
|
|
155
|
+
#
|
|
156
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:316
|
|
157
|
+
def compute_current_table_size; end
|
|
158
|
+
|
|
159
|
+
# Header Block Processing
|
|
160
|
+
# - http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-10#section-4.1
|
|
161
|
+
#
|
|
162
|
+
# @param command [Hash] {type:, name:, value:, index:}
|
|
163
|
+
# @return [Array] +[name, value]+ header field that is added to the decoded header list
|
|
164
|
+
#
|
|
165
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:169
|
|
166
|
+
def decode(command); end
|
|
167
|
+
|
|
168
|
+
# Finds an entry in current dynamic table by index.
|
|
169
|
+
# Note that index is zero-based in this module.
|
|
170
|
+
#
|
|
171
|
+
# If the index is greater than the last index in the static table,
|
|
172
|
+
# an entry in the dynamic table is dereferenced.
|
|
173
|
+
#
|
|
174
|
+
# If the index is greater than the last header index, an error is raised.
|
|
175
|
+
#
|
|
176
|
+
# @param index [Integer] zero-based index in the dynamic table.
|
|
177
|
+
# @return [Array] +[key, value]+
|
|
178
|
+
#
|
|
179
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:153
|
|
180
|
+
def dereference(index); end
|
|
181
|
+
|
|
182
|
+
# Plan header compression according to +@index+
|
|
183
|
+
# :never Do not use dynamic table or static table reference at all.
|
|
184
|
+
# :static Use static table only.
|
|
185
|
+
# :all Use all of them.
|
|
186
|
+
#
|
|
187
|
+
# @param headers [Array] +[[name, value], ...]+
|
|
188
|
+
# @return [Array] array of commands
|
|
189
|
+
#
|
|
190
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:224
|
|
191
|
+
def encode(headers); end
|
|
192
|
+
|
|
193
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:138
|
|
194
|
+
def huffman; end
|
|
195
|
+
|
|
196
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:139
|
|
197
|
+
def index; end
|
|
198
|
+
|
|
199
|
+
# Current table of header key-value pairs.
|
|
200
|
+
#
|
|
201
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:136
|
|
202
|
+
def table; end
|
|
203
|
+
|
|
204
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:141
|
|
205
|
+
def table_size; end
|
|
206
|
+
|
|
207
|
+
# Alter dynamic table size.
|
|
208
|
+
# When the size is reduced, some headers might be evicted.
|
|
209
|
+
#
|
|
210
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:302
|
|
211
|
+
def table_size=(size); end
|
|
212
|
+
|
|
213
|
+
private
|
|
214
|
+
|
|
215
|
+
# Add a name-value pair to the dynamic table. Older entries might have been evicted so that the new entry fits in the dynamic table. The command and the component strings will be frozen.
|
|
216
|
+
#
|
|
217
|
+
# @param command [Array] +[name, value]+
|
|
218
|
+
#
|
|
219
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:325
|
|
220
|
+
def add_to_table(command); end
|
|
221
|
+
|
|
222
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:335
|
|
223
|
+
def entry_size(e); end
|
|
224
|
+
|
|
225
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:128
|
|
226
|
+
def initialize_copy(other); end
|
|
227
|
+
|
|
228
|
+
# To keep the dynamic table size lower than or equal to @table_size,
|
|
229
|
+
# remove one or more entries at the end of the dynamic table.
|
|
230
|
+
#
|
|
231
|
+
# @param command [Hash]
|
|
232
|
+
# @return [Boolean] whether +command+ fits in the dynamic table.
|
|
233
|
+
#
|
|
234
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:344
|
|
235
|
+
def size_check(command); end
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:100
|
|
239
|
+
Protocol::HPACK::Context::STATIC_EXACT_LOOKUP = T.let(T.unsafe(nil), Hash)
|
|
240
|
+
|
|
241
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:101
|
|
242
|
+
Protocol::HPACK::Context::STATIC_NAME_LOOKUP = T.let(T.unsafe(nil), Hash)
|
|
243
|
+
|
|
244
|
+
# Static header table.
|
|
245
|
+
# https://tools.ietf.org/html/rfc7541#appendix-A
|
|
246
|
+
#
|
|
247
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:36
|
|
248
|
+
Protocol::HPACK::Context::STATIC_TABLE = T.let(T.unsafe(nil), Array)
|
|
249
|
+
|
|
250
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/error.rb:14
|
|
251
|
+
class Protocol::HPACK::DecompressionError < ::Protocol::HPACK::Error; end
|
|
252
|
+
|
|
253
|
+
# Responsible for decoding received headers and maintaining compression
|
|
254
|
+
# context of the opposing peer. Decompressor must be initialized with
|
|
255
|
+
# appropriate starting context based on local role: client or server.
|
|
256
|
+
#
|
|
257
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:16
|
|
258
|
+
class Protocol::HPACK::Decompressor
|
|
259
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:20
|
|
260
|
+
def initialize(buffer, context = T.unsafe(nil), table_size_limit: T.unsafe(nil)); end
|
|
261
|
+
|
|
262
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:28
|
|
263
|
+
def buffer; end
|
|
264
|
+
|
|
265
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:29
|
|
266
|
+
def context; end
|
|
267
|
+
|
|
268
|
+
# Decodes and processes header commands within provided buffer.
|
|
269
|
+
#
|
|
270
|
+
# @param buffer [Buffer]
|
|
271
|
+
# @return [Array] +[[name, value], ...]+
|
|
272
|
+
#
|
|
273
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:192
|
|
274
|
+
def decode(list = T.unsafe(nil)); end
|
|
275
|
+
|
|
276
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:34
|
|
277
|
+
def end?; end
|
|
278
|
+
|
|
279
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:30
|
|
280
|
+
def offset; end
|
|
281
|
+
|
|
282
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:46
|
|
283
|
+
def peek_byte; end
|
|
284
|
+
|
|
285
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:38
|
|
286
|
+
def read_byte; end
|
|
287
|
+
|
|
288
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:50
|
|
289
|
+
def read_bytes(length); end
|
|
290
|
+
|
|
291
|
+
# Decodes header command from provided buffer.
|
|
292
|
+
#
|
|
293
|
+
# @param buffer [Buffer]
|
|
294
|
+
# @return [Hash] command
|
|
295
|
+
#
|
|
296
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:102
|
|
297
|
+
def read_header; end
|
|
298
|
+
|
|
299
|
+
# Decodes integer value from provided buffer.
|
|
300
|
+
#
|
|
301
|
+
# @param bits [Integer] number of available bits
|
|
302
|
+
# @return [Integer]
|
|
303
|
+
#
|
|
304
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:62
|
|
305
|
+
def read_integer(bits); end
|
|
306
|
+
|
|
307
|
+
# Decodes string value from provided buffer.
|
|
308
|
+
#
|
|
309
|
+
# @return [String] UTF-8 encoded string
|
|
310
|
+
# @raise [CompressionError] when input is malformed
|
|
311
|
+
#
|
|
312
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:82
|
|
313
|
+
def read_string; end
|
|
314
|
+
|
|
315
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:32
|
|
316
|
+
def table_size_limit; end
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/decompressor.rb:18
|
|
320
|
+
Protocol::HPACK::Decompressor::MASK_SHIFT_4 = T.let(T.unsafe(nil), Integer)
|
|
321
|
+
|
|
322
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/error.rb:8
|
|
323
|
+
class Protocol::HPACK::Error < ::StandardError; end
|
|
324
|
+
|
|
325
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:22
|
|
326
|
+
Protocol::HPACK::HEADER_REPRESENTATION = T.let(T.unsafe(nil), Hash)
|
|
327
|
+
|
|
328
|
+
# Implementation of huffman encoding for HPACK.
|
|
329
|
+
#
|
|
330
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman/machine.rb:11
|
|
331
|
+
class Protocol::HPACK::Huffman
|
|
332
|
+
class << self
|
|
333
|
+
# Decodes provided Huffman coded string.
|
|
334
|
+
#
|
|
335
|
+
# @param buf [Buffer]
|
|
336
|
+
# @return [String] binary string
|
|
337
|
+
# @raise [CompressionError] when Huffman coded string is malformed
|
|
338
|
+
#
|
|
339
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman.rb:37
|
|
340
|
+
def decode(buffer); end
|
|
341
|
+
|
|
342
|
+
# Encodes provided value via huffman encoding.
|
|
343
|
+
# Length is not encoded in this method.
|
|
344
|
+
#
|
|
345
|
+
# @param str [String]
|
|
346
|
+
# @return [String] binary string
|
|
347
|
+
#
|
|
348
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman.rb:26
|
|
349
|
+
def encode(str); end
|
|
350
|
+
end
|
|
351
|
+
end
|
|
352
|
+
|
|
353
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman.rb:18
|
|
354
|
+
Protocol::HPACK::Huffman::BITS_AT_ONCE = T.let(T.unsafe(nil), Integer)
|
|
355
|
+
|
|
356
|
+
# Huffman table as specified in https://tools.ietf.org/html/rfc7541#appendix-B
|
|
357
|
+
#
|
|
358
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman.rb:68
|
|
359
|
+
Protocol::HPACK::Huffman::CODES = T.let(T.unsafe(nil), Array)
|
|
360
|
+
|
|
361
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman.rb:328
|
|
362
|
+
Protocol::HPACK::Huffman::ENCODE_TABLE = T.let(T.unsafe(nil), Array)
|
|
363
|
+
|
|
364
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman.rb:19
|
|
365
|
+
Protocol::HPACK::Huffman::EOS = T.let(T.unsafe(nil), Integer)
|
|
366
|
+
|
|
367
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman/machine.rb:14
|
|
368
|
+
Protocol::HPACK::Huffman::MACHINE = T.let(T.unsafe(nil), Array)
|
|
369
|
+
|
|
370
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/huffman/machine.rb:13
|
|
371
|
+
Protocol::HPACK::Huffman::MAX_FINAL_STATE = T.let(T.unsafe(nil), Integer)
|
|
372
|
+
|
|
373
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:20
|
|
374
|
+
Protocol::HPACK::INCREMENTAL_TYPE = T.let(T.unsafe(nil), Hash)
|
|
375
|
+
|
|
376
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:21
|
|
377
|
+
Protocol::HPACK::INDEXED_TYPE = T.let(T.unsafe(nil), Hash)
|
|
378
|
+
|
|
379
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:24
|
|
380
|
+
Protocol::HPACK::LINEAR = T.let(T.unsafe(nil), Hash)
|
|
381
|
+
|
|
382
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:28
|
|
383
|
+
Protocol::HPACK::LINEAR_HUFFMAN = T.let(T.unsafe(nil), Hash)
|
|
384
|
+
|
|
385
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:32
|
|
386
|
+
Protocol::HPACK::MODES = T.let(T.unsafe(nil), Hash)
|
|
387
|
+
|
|
388
|
+
# Predefined options set for Compressor
|
|
389
|
+
# http://mew.org/~kazu/material/2014-hpack.pdf
|
|
390
|
+
#
|
|
391
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:23
|
|
392
|
+
Protocol::HPACK::NAIVE = T.let(T.unsafe(nil), Hash)
|
|
393
|
+
|
|
394
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:27
|
|
395
|
+
Protocol::HPACK::NAIVE_HUFFMAN = T.let(T.unsafe(nil), Hash)
|
|
396
|
+
|
|
397
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:18
|
|
398
|
+
Protocol::HPACK::NEVER_INDEXED_TYPE = T.let(T.unsafe(nil), Hash)
|
|
399
|
+
|
|
400
|
+
# Header representation as defined by the spec.
|
|
401
|
+
#
|
|
402
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/context.rb:17
|
|
403
|
+
Protocol::HPACK::NO_INDEX_TYPE = T.let(T.unsafe(nil), Hash)
|
|
404
|
+
|
|
405
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:26
|
|
406
|
+
Protocol::HPACK::SHORTER = T.let(T.unsafe(nil), Hash)
|
|
407
|
+
|
|
408
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:30
|
|
409
|
+
Protocol::HPACK::SHORTER_HUFFMAN = T.let(T.unsafe(nil), Hash)
|
|
410
|
+
|
|
411
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:25
|
|
412
|
+
Protocol::HPACK::STATIC = T.let(T.unsafe(nil), Hash)
|
|
413
|
+
|
|
414
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/compressor.rb:29
|
|
415
|
+
Protocol::HPACK::STATIC_HUFFMAN = T.let(T.unsafe(nil), Hash)
|
|
416
|
+
|
|
417
|
+
# pkg:gem/protocol-hpack#lib/protocol/hpack/version.rb:8
|
|
418
|
+
Protocol::HPACK::VERSION = T.let(T.unsafe(nil), String)
|