http-2 0.11.0 → 0.12.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 +0 -2
- data/lib/http/2/buffer.rb +6 -4
- data/lib/http/2/client.rb +5 -1
- data/lib/http/2/compressor.rb +42 -34
- data/lib/http/2/connection.rb +72 -86
- data/lib/http/2/emitter.rb +4 -1
- data/lib/http/2/error.rb +2 -0
- data/lib/http/2/flow_buffer.rb +8 -3
- data/lib/http/2/framer.rb +83 -94
- data/lib/http/2/huffman.rb +19 -17
- data/lib/http/2/server.rb +9 -7
- data/lib/http/2/stream.rb +48 -48
- data/lib/http/2/version.rb +3 -1
- data/lib/http/2.rb +2 -0
- metadata +7 -60
- data/.autotest +0 -20
- data/.coveralls.yml +0 -1
- data/.gitignore +0 -20
- data/.gitmodules +0 -3
- data/.rspec +0 -5
- data/.rubocop.yml +0 -93
- data/.rubocop_todo.yml +0 -131
- data/.travis.yml +0 -17
- data/Gemfile +0 -16
- data/Guardfile +0 -18
- data/Guardfile.h2spec +0 -12
- data/Rakefile +0 -49
- data/example/Gemfile +0 -3
- data/example/README.md +0 -44
- data/example/client.rb +0 -122
- data/example/helper.rb +0 -19
- data/example/keys/server.crt +0 -20
- data/example/keys/server.key +0 -27
- data/example/server.rb +0 -139
- data/example/upgrade_client.rb +0 -153
- data/example/upgrade_server.rb +0 -203
- data/http-2.gemspec +0 -22
- data/lib/tasks/generate_huffman_table.rb +0 -166
- data/spec/buffer_spec.rb +0 -28
- data/spec/client_spec.rb +0 -188
- data/spec/compressor_spec.rb +0 -666
- data/spec/connection_spec.rb +0 -681
- data/spec/emitter_spec.rb +0 -54
- data/spec/framer_spec.rb +0 -487
- data/spec/h2spec/h2spec.darwin +0 -0
- data/spec/h2spec/output/non_secure.txt +0 -317
- data/spec/helper.rb +0 -147
- data/spec/hpack_test_spec.rb +0 -84
- data/spec/huffman_spec.rb +0 -68
- data/spec/server_spec.rb +0 -52
- data/spec/stream_spec.rb +0 -878
- data/spec/support/deep_dup.rb +0 -55
- data/spec/support/duplicable.rb +0 -98
data/lib/http/2/stream.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module HTTP2
|
2
4
|
# A single HTTP 2.0 connection can multiplex multiple streams in parallel:
|
3
5
|
# multiple requests and responses can be in flight simultaneously and stream
|
@@ -49,11 +51,10 @@ module HTTP2
|
|
49
51
|
|
50
52
|
# Stream priority as set by initiator.
|
51
53
|
attr_reader :weight
|
52
|
-
attr_reader :dependency
|
54
|
+
attr_reader :dependency, :remote_window
|
53
55
|
|
54
56
|
# Size of current stream flow control window.
|
55
57
|
attr_reader :local_window
|
56
|
-
attr_reader :remote_window
|
57
58
|
alias window local_window
|
58
59
|
|
59
60
|
# Reason why connection was closed.
|
@@ -120,9 +121,7 @@ module HTTP2
|
|
120
121
|
# An ALTSVC frame on a
|
121
122
|
# stream other than stream 0 containing non-empty "Origin" information
|
122
123
|
# is invalid and MUST be ignored.
|
123
|
-
if !frame[:origin] || frame[:origin].empty?
|
124
|
-
emit(frame[:type], frame)
|
125
|
-
end
|
124
|
+
emit(frame[:type], frame) if !frame[:origin] || frame[:origin].empty?
|
126
125
|
when :blocked
|
127
126
|
emit(frame[:type], frame)
|
128
127
|
end
|
@@ -170,7 +169,7 @@ module HTTP2
|
|
170
169
|
end
|
171
170
|
|
172
171
|
def promise(headers, end_headers: true, &block)
|
173
|
-
|
172
|
+
raise ArgumentError, 'must provide callback' unless block_given?
|
174
173
|
|
175
174
|
flags = end_headers ? [:end_headers] : []
|
176
175
|
emit(:promise, self, headers, flags, &block)
|
@@ -243,6 +242,7 @@ module HTTP2
|
|
243
242
|
def window_update(increment)
|
244
243
|
# emit stream-level WINDOW_UPDATE unless stream is closed
|
245
244
|
return if @state == :closed || @state == :remote_closed
|
245
|
+
|
246
246
|
send(type: :window_update, increment: increment)
|
247
247
|
end
|
248
248
|
|
@@ -345,18 +345,18 @@ module HTTP2
|
|
345
345
|
# connection error (Section 5.4.1) of type PROTOCOL_ERROR.
|
346
346
|
when :reserved_local
|
347
347
|
@state = if sending
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
348
|
+
case frame[:type]
|
349
|
+
when :headers then event(:half_closed_remote)
|
350
|
+
when :rst_stream then event(:local_rst)
|
351
|
+
else stream_error
|
352
|
+
end
|
353
|
+
else
|
354
|
+
case frame[:type]
|
355
|
+
when :rst_stream then event(:remote_rst)
|
356
|
+
when :priority, :window_update then @state
|
357
|
+
else stream_error
|
358
|
+
end
|
359
|
+
end
|
360
360
|
|
361
361
|
# A stream in the "reserved (remote)" state has been reserved by a
|
362
362
|
# remote peer.
|
@@ -374,18 +374,18 @@ module HTTP2
|
|
374
374
|
# error (Section 5.4.1) of type PROTOCOL_ERROR.
|
375
375
|
when :reserved_remote
|
376
376
|
@state = if sending
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
377
|
+
case frame[:type]
|
378
|
+
when :rst_stream then event(:local_rst)
|
379
|
+
when :priority, :window_update then @state
|
380
|
+
else stream_error
|
381
|
+
end
|
382
|
+
else
|
383
|
+
case frame[:type]
|
384
|
+
when :headers then event(:half_closed_local)
|
385
|
+
when :rst_stream then event(:remote_rst)
|
386
|
+
else stream_error
|
387
|
+
end
|
388
|
+
end
|
389
389
|
|
390
390
|
# A stream in the "open" state may be used by both peers to send
|
391
391
|
# frames of any type. In this state, sending peers observe
|
@@ -523,26 +523,24 @@ module HTTP2
|
|
523
523
|
when :closed
|
524
524
|
if sending
|
525
525
|
case frame[:type]
|
526
|
-
when :rst_stream
|
527
|
-
when :priority
|
526
|
+
when :rst_stream # ignore
|
527
|
+
when :priority
|
528
528
|
process_priority(frame)
|
529
529
|
else
|
530
|
-
stream_error(:stream_closed) unless
|
530
|
+
stream_error(:stream_closed) unless frame[:type] == :rst_stream
|
531
531
|
end
|
532
|
+
elsif frame[:type] == :priority
|
533
|
+
process_priority(frame)
|
532
534
|
else
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
when :rst_stream, :window_update # nop here
|
540
|
-
else
|
541
|
-
stream_error(:stream_closed)
|
542
|
-
end
|
543
|
-
when :local_rst, :local_closed
|
544
|
-
frame[:ignore] = true if frame[:type] != :window_update
|
535
|
+
case @closed
|
536
|
+
when :remote_rst, :remote_closed
|
537
|
+
case frame[:type]
|
538
|
+
when :rst_stream, :window_update # nop here
|
539
|
+
else
|
540
|
+
stream_error(:stream_closed)
|
545
541
|
end
|
542
|
+
when :local_rst, :local_closed
|
543
|
+
frame[:ignore] = true if frame[:type] != :window_update
|
546
544
|
end
|
547
545
|
end
|
548
546
|
end
|
@@ -587,9 +585,9 @@ module HTTP2
|
|
587
585
|
@dependency = frame[:stream_dependency]
|
588
586
|
emit(
|
589
587
|
:priority,
|
590
|
-
weight:
|
588
|
+
weight: frame[:weight],
|
591
589
|
dependency: frame[:stream_dependency],
|
592
|
-
exclusive:
|
590
|
+
exclusive: frame[:exclusive]
|
593
591
|
)
|
594
592
|
# TODO: implement dependency tree housekeeping
|
595
593
|
# Latest draft defines a fairly complex priority control.
|
@@ -601,6 +599,8 @@ module HTTP2
|
|
601
599
|
def end_stream?(frame)
|
602
600
|
case frame[:type]
|
603
601
|
when :data, :headers, :continuation
|
602
|
+
return false unless frame[:flags]
|
603
|
+
|
604
604
|
frame[:flags].include?(:end_stream)
|
605
605
|
else false
|
606
606
|
end
|
@@ -611,7 +611,7 @@ module HTTP2
|
|
611
611
|
close(error) if @state != :closed
|
612
612
|
|
613
613
|
klass = error.to_s.split('_').map(&:capitalize).join
|
614
|
-
|
614
|
+
raise Error.const_get(klass), msg
|
615
615
|
end
|
616
616
|
alias error stream_error
|
617
617
|
|
data/lib/http/2/version.rb
CHANGED
data/lib/http/2.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: http-2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Grigorik
|
@@ -9,16 +9,16 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-06-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: base64
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '0'
|
21
|
-
type: :
|
21
|
+
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
@@ -32,30 +32,8 @@ executables: []
|
|
32
32
|
extensions: []
|
33
33
|
extra_rdoc_files: []
|
34
34
|
files:
|
35
|
-
- ".autotest"
|
36
|
-
- ".coveralls.yml"
|
37
|
-
- ".gitignore"
|
38
|
-
- ".gitmodules"
|
39
|
-
- ".rspec"
|
40
|
-
- ".rubocop.yml"
|
41
|
-
- ".rubocop_todo.yml"
|
42
|
-
- ".travis.yml"
|
43
|
-
- Gemfile
|
44
|
-
- Guardfile
|
45
|
-
- Guardfile.h2spec
|
46
35
|
- LICENSE
|
47
36
|
- README.md
|
48
|
-
- Rakefile
|
49
|
-
- example/Gemfile
|
50
|
-
- example/README.md
|
51
|
-
- example/client.rb
|
52
|
-
- example/helper.rb
|
53
|
-
- example/keys/server.crt
|
54
|
-
- example/keys/server.key
|
55
|
-
- example/server.rb
|
56
|
-
- example/upgrade_client.rb
|
57
|
-
- example/upgrade_server.rb
|
58
|
-
- http-2.gemspec
|
59
37
|
- lib/http/2.rb
|
60
38
|
- lib/http/2/buffer.rb
|
61
39
|
- lib/http/2/client.rb
|
@@ -70,22 +48,6 @@ files:
|
|
70
48
|
- lib/http/2/server.rb
|
71
49
|
- lib/http/2/stream.rb
|
72
50
|
- lib/http/2/version.rb
|
73
|
-
- lib/tasks/generate_huffman_table.rb
|
74
|
-
- spec/buffer_spec.rb
|
75
|
-
- spec/client_spec.rb
|
76
|
-
- spec/compressor_spec.rb
|
77
|
-
- spec/connection_spec.rb
|
78
|
-
- spec/emitter_spec.rb
|
79
|
-
- spec/framer_spec.rb
|
80
|
-
- spec/h2spec/h2spec.darwin
|
81
|
-
- spec/h2spec/output/non_secure.txt
|
82
|
-
- spec/helper.rb
|
83
|
-
- spec/hpack_test_spec.rb
|
84
|
-
- spec/huffman_spec.rb
|
85
|
-
- spec/server_spec.rb
|
86
|
-
- spec/stream_spec.rb
|
87
|
-
- spec/support/deep_dup.rb
|
88
|
-
- spec/support/duplicable.rb
|
89
51
|
homepage: https://github.com/igrigorik/http-2
|
90
52
|
licenses:
|
91
53
|
- MIT
|
@@ -98,30 +60,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
98
60
|
requirements:
|
99
61
|
- - ">="
|
100
62
|
- !ruby/object:Gem::Version
|
101
|
-
version: 2.
|
63
|
+
version: '2.5'
|
102
64
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
65
|
requirements:
|
104
66
|
- - ">="
|
105
67
|
- !ruby/object:Gem::Version
|
106
68
|
version: '0'
|
107
69
|
requirements: []
|
108
|
-
rubygems_version: 3.
|
70
|
+
rubygems_version: 3.3.26
|
109
71
|
signing_key:
|
110
72
|
specification_version: 4
|
111
73
|
summary: Pure-ruby HTTP 2.0 protocol implementation
|
112
|
-
test_files:
|
113
|
-
- spec/buffer_spec.rb
|
114
|
-
- spec/client_spec.rb
|
115
|
-
- spec/compressor_spec.rb
|
116
|
-
- spec/connection_spec.rb
|
117
|
-
- spec/emitter_spec.rb
|
118
|
-
- spec/framer_spec.rb
|
119
|
-
- spec/h2spec/h2spec.darwin
|
120
|
-
- spec/h2spec/output/non_secure.txt
|
121
|
-
- spec/helper.rb
|
122
|
-
- spec/hpack_test_spec.rb
|
123
|
-
- spec/huffman_spec.rb
|
124
|
-
- spec/server_spec.rb
|
125
|
-
- spec/stream_spec.rb
|
126
|
-
- spec/support/deep_dup.rb
|
127
|
-
- spec/support/duplicable.rb
|
74
|
+
test_files: []
|
data/.autotest
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'autotest/growl'
|
2
|
-
|
3
|
-
Autotest.add_hook(:initialize) {|at|
|
4
|
-
at.add_exception %r{^\.git|\.yardoc}
|
5
|
-
at.add_exception %r{^./tmp}
|
6
|
-
at.add_exception %r{coverage}
|
7
|
-
|
8
|
-
at.clear_mappings
|
9
|
-
|
10
|
-
at.add_mapping(%r%^spec/.*_spec\.rb$%) { |filename, _|
|
11
|
-
filename
|
12
|
-
}
|
13
|
-
at.add_mapping(%r%^lib/(.*)\.rb$%) { |_, m|
|
14
|
-
["spec/#{m[1].split('/').last}_spec.rb"]
|
15
|
-
}
|
16
|
-
at.add_mapping(%r%^spec/(spec_helper|shared/.*)\.rb$%) {
|
17
|
-
files_matching %r%^spec/.*_spec\.rb$%
|
18
|
-
}
|
19
|
-
nil
|
20
|
-
}
|
data/.coveralls.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
service_name: travis-ci
|
data/.gitignore
DELETED
data/.gitmodules
DELETED
data/.rspec
DELETED
data/.rubocop.yml
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
inherit_from: .rubocop_todo.yml
|
2
|
-
|
3
|
-
AllCops:
|
4
|
-
TargetRubyVersion: 2.1
|
5
|
-
DisplayCopNames: true
|
6
|
-
Exclude:
|
7
|
-
- 'bin/**'
|
8
|
-
- 'vendor/**/*'
|
9
|
-
- '**/huffman_statemachine.rb'
|
10
|
-
|
11
|
-
Layout/IndentHeredoc:
|
12
|
-
Exclude:
|
13
|
-
- 'lib/tasks/generate_huffman_table.rb'
|
14
|
-
- 'example/*'
|
15
|
-
|
16
|
-
Metrics/LineLength:
|
17
|
-
Max: 120
|
18
|
-
|
19
|
-
Metrics/BlockLength:
|
20
|
-
Max: 700
|
21
|
-
|
22
|
-
Layout/EndAlignment:
|
23
|
-
EnforcedStyleAlignWith: variable
|
24
|
-
|
25
|
-
Layout/CaseIndentation:
|
26
|
-
EnforcedStyle: end
|
27
|
-
|
28
|
-
Layout/IndentHash:
|
29
|
-
EnforcedStyle: consistent
|
30
|
-
|
31
|
-
Style/TrailingCommaInArrayLiteral:
|
32
|
-
EnforcedStyleForMultiline: comma
|
33
|
-
|
34
|
-
Style/TrailingCommaInHashLiteral:
|
35
|
-
EnforcedStyleForMultiline: comma
|
36
|
-
|
37
|
-
Layout/SpaceAroundOperators:
|
38
|
-
Enabled: false
|
39
|
-
|
40
|
-
Layout/ExtraSpacing:
|
41
|
-
Enabled: false
|
42
|
-
|
43
|
-
Layout/EmptyLinesAroundExceptionHandlingKeywords:
|
44
|
-
Enabled: false
|
45
|
-
|
46
|
-
Naming/UncommunicativeMethodParamName:
|
47
|
-
Enabled: false
|
48
|
-
|
49
|
-
Style/SignalException:
|
50
|
-
Enabled: false
|
51
|
-
|
52
|
-
Style/FrozenStringLiteralComment:
|
53
|
-
Enabled: false
|
54
|
-
|
55
|
-
Style/ParallelAssignment:
|
56
|
-
Enabled: false
|
57
|
-
|
58
|
-
Style/ParenthesesAroundCondition:
|
59
|
-
Enabled: false
|
60
|
-
|
61
|
-
Style/IfInsideElse:
|
62
|
-
Enabled: false
|
63
|
-
|
64
|
-
Style/IfUnlessModifier:
|
65
|
-
Enabled: false
|
66
|
-
|
67
|
-
Style/MultilineIfModifier:
|
68
|
-
Enabled: false
|
69
|
-
|
70
|
-
Lint/EmptyWhen:
|
71
|
-
Enabled: false
|
72
|
-
|
73
|
-
Style/TrailingCommaInArguments:
|
74
|
-
Enabled: false
|
75
|
-
|
76
|
-
Style/TrailingUnderscoreVariable:
|
77
|
-
Enabled: false
|
78
|
-
|
79
|
-
Style/SymbolArray:
|
80
|
-
Enabled: false
|
81
|
-
|
82
|
-
Style/CommentedKeyword:
|
83
|
-
Enabled: false
|
84
|
-
|
85
|
-
Style/PercentLiteralDelimiters:
|
86
|
-
Enabled: false
|
87
|
-
|
88
|
-
Performance/TimesMap:
|
89
|
-
Enabled: false
|
90
|
-
|
91
|
-
Performance/RedundantBlockCall:
|
92
|
-
Enabled: false
|
93
|
-
|
data/.rubocop_todo.yml
DELETED
@@ -1,131 +0,0 @@
|
|
1
|
-
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
# on 2016-06-09 10:57:54 -0400 using RuboCop version 0.40.0.
|
4
|
-
# The point is for the user to remove these configuration records
|
5
|
-
# one by one as the offenses are removed from the code base.
|
6
|
-
# Note that changes in the inspected code, or installation of new
|
7
|
-
# versions of RuboCop, may require this file to be generated again.
|
8
|
-
|
9
|
-
# Offense count: 24
|
10
|
-
Metrics/AbcSize:
|
11
|
-
Max: 185
|
12
|
-
|
13
|
-
# Offense count: 16
|
14
|
-
Metrics/BlockNesting:
|
15
|
-
Max: 5
|
16
|
-
|
17
|
-
# Offense count: 5
|
18
|
-
# Configuration parameters: CountComments.
|
19
|
-
Metrics/ClassLength:
|
20
|
-
Max: 325
|
21
|
-
|
22
|
-
Metrics/ModuleLength:
|
23
|
-
Max: 120
|
24
|
-
|
25
|
-
# Offense count: 12
|
26
|
-
Metrics/CyclomaticComplexity:
|
27
|
-
Max: 60
|
28
|
-
|
29
|
-
# Offense count: 9
|
30
|
-
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
|
31
|
-
# URISchemes: http, https
|
32
|
-
Metrics/LineLength:
|
33
|
-
Max: 108
|
34
|
-
|
35
|
-
# Offense count: 29
|
36
|
-
# Configuration parameters: CountComments.
|
37
|
-
Metrics/MethodLength:
|
38
|
-
Max: 134
|
39
|
-
|
40
|
-
# Offense count: 1
|
41
|
-
# Configuration parameters: CountKeywordArgs.
|
42
|
-
Metrics/ParameterLists:
|
43
|
-
Max: 7
|
44
|
-
|
45
|
-
# Offense count: 10
|
46
|
-
Metrics/PerceivedComplexity:
|
47
|
-
Max: 46
|
48
|
-
|
49
|
-
# Offense count: 1
|
50
|
-
# Cop supports --auto-correct.
|
51
|
-
# Configuration parameters: MaxKeyValuePairs.
|
52
|
-
Performance/RedundantMerge:
|
53
|
-
Exclude:
|
54
|
-
- 'lib/http/2/server.rb'
|
55
|
-
|
56
|
-
# Offense count: 4
|
57
|
-
Style/Documentation:
|
58
|
-
Exclude:
|
59
|
-
- 'spec/**/*'
|
60
|
-
- 'test/**/*'
|
61
|
-
- 'example/helper.rb'
|
62
|
-
- 'example/upgrade_server.rb'
|
63
|
-
- 'lib/tasks/generate_huffman_table.rb'
|
64
|
-
|
65
|
-
# Offense count: 3
|
66
|
-
# Cop supports --auto-correct.
|
67
|
-
# Configuration parameters: EnforcedStyle.
|
68
|
-
# SupportedStyles: braces, no_braces, context_dependent
|
69
|
-
Style/BracesAroundHashParameters:
|
70
|
-
Exclude:
|
71
|
-
- 'spec/connection_spec.rb'
|
72
|
-
- 'spec/server_spec.rb'
|
73
|
-
|
74
|
-
# Offense count: 1
|
75
|
-
# Cop supports --auto-correct.
|
76
|
-
Style/EmptyCaseCondition:
|
77
|
-
Exclude:
|
78
|
-
- 'example/upgrade_server.rb'
|
79
|
-
|
80
|
-
# Offense count: 1
|
81
|
-
# Configuration parameters: MinBodyLength.
|
82
|
-
Style/GuardClause:
|
83
|
-
Exclude:
|
84
|
-
- 'lib/http/2/connection.rb'
|
85
|
-
|
86
|
-
# Offense count: 2
|
87
|
-
# Cop supports --auto-correct.
|
88
|
-
# Configuration parameters: SupportedStyles, IndentationWidth.
|
89
|
-
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
|
90
|
-
Layout/IndentArray:
|
91
|
-
EnforcedStyle: consistent
|
92
|
-
|
93
|
-
# Offense count: 1
|
94
|
-
# Cop supports --auto-correct.
|
95
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
96
|
-
# SupportedStyles: symmetrical, new_line, same_line
|
97
|
-
Layout/MultilineArrayBraceLayout:
|
98
|
-
Exclude:
|
99
|
-
- 'spec/compressor_spec.rb'
|
100
|
-
|
101
|
-
# Offense count: 16
|
102
|
-
# Cop supports --auto-correct.
|
103
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
104
|
-
# SupportedStyles: symmetrical, new_line, same_line
|
105
|
-
Layout/MultilineHashBraceLayout:
|
106
|
-
Exclude:
|
107
|
-
- 'spec/compressor_spec.rb'
|
108
|
-
|
109
|
-
# Offense count: 1
|
110
|
-
# Cop supports --auto-correct.
|
111
|
-
Style/MutableConstant:
|
112
|
-
Exclude:
|
113
|
-
- 'example/upgrade_server.rb'
|
114
|
-
|
115
|
-
# Offense count: 1
|
116
|
-
# Cop supports --auto-correct.
|
117
|
-
Style/RedundantSelf:
|
118
|
-
Exclude:
|
119
|
-
- 'lib/http/2/connection.rb'
|
120
|
-
|
121
|
-
# Offense count: 1
|
122
|
-
# Cop supports --auto-correct.
|
123
|
-
Style/UnneededInterpolation:
|
124
|
-
Exclude:
|
125
|
-
- 'spec/compressor_spec.rb'
|
126
|
-
|
127
|
-
# Offense count: 1
|
128
|
-
# Cop supports --auto-correct.
|
129
|
-
Style/ZeroLengthPredicate:
|
130
|
-
Exclude:
|
131
|
-
- 'lib/http/2/framer.rb'
|
data/.travis.yml
DELETED
data/Gemfile
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gem 'rake'
|
4
|
-
gem 'yard'
|
5
|
-
|
6
|
-
group :test do
|
7
|
-
gem 'autotest-standalone'
|
8
|
-
gem 'coveralls', require: false
|
9
|
-
gem 'pry'
|
10
|
-
gem 'pry-byebug', platform: :mri
|
11
|
-
gem 'rspec', '~> 3.4.0'
|
12
|
-
gem 'rspec-autotest'
|
13
|
-
gem 'rubocop', '0.57.2'
|
14
|
-
end
|
15
|
-
|
16
|
-
gemspec
|
data/Guardfile
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
guard :process, name: 'HTTP/2 Server', command: 'ruby example/server.rb', stop_signal: 'TERM' do
|
2
|
-
watch(%r{^example/(.+)\.rb$})
|
3
|
-
watch(%r{^lib/http/2/(.+)\.rb$})
|
4
|
-
|
5
|
-
watch('Gemfile.lock')
|
6
|
-
end
|
7
|
-
|
8
|
-
def h2spec
|
9
|
-
puts 'Starting H2 Spec'
|
10
|
-
sleep 0.7
|
11
|
-
system '~/go-workspace/bin/h2spec -p 8080 -o 1 -s 4.2'
|
12
|
-
puts "\n"
|
13
|
-
end
|
14
|
-
|
15
|
-
guard :shell, name: 'H2 Spec' do
|
16
|
-
watch(%r{^example/(.+)\.rb$}) { h2spec }
|
17
|
-
watch(%r{^lib/http/2/(.+)\.rb$}) { h2spec }
|
18
|
-
end
|
data/Guardfile.h2spec
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
def h2spec
|
2
|
-
puts "Starting H2 Spec"
|
3
|
-
sleep 0.7
|
4
|
-
system '~/go-workspace/bin/h2spec -p 8080 -o 1 -s 5.1'
|
5
|
-
puts "\n"
|
6
|
-
end
|
7
|
-
|
8
|
-
guard :shell, name:'H2 Spec' do
|
9
|
-
watch(%r{^example/(.+)\.rb$}) { h2spec }
|
10
|
-
watch(%r{^lib/http/2/(.+)\.rb$}) { h2spec }
|
11
|
-
end
|
12
|
-
|