http-2 0.11.0 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
|