├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .rubocop.yml ├── .rubocop_todo.yml ├── .simplecov ├── CHANGELOG.md ├── Gemfile ├── LICENSE ├── README.md ├── Rakefile ├── benchmarks └── client_server.rb ├── example ├── Gemfile ├── README.md ├── client.rb ├── helper.rb ├── keys │ ├── server.crt │ └── server.key ├── raw.rb ├── server.rb ├── upgrade_client.rb └── upgrade_server.rb ├── h2spec-releases ├── h2spec_darwin_amd64.tar.gz ├── h2spec_linux_amd64.tar.gz └── h2spec_windows_amd64.zip ├── http-2.gemspec ├── lib └── http │ ├── 2 │ ├── base64.rb │ ├── client.rb │ ├── connection.rb │ ├── emitter.rb │ ├── error.rb │ ├── extensions.rb │ ├── flow_buffer.rb │ ├── framer.rb │ ├── header.rb │ ├── header │ │ ├── compressor.rb │ │ ├── decompressor.rb │ │ ├── encoding_context.rb │ │ ├── huffman.rb │ │ └── huffman_statemachine.rb │ ├── server.rb │ ├── stream.rb │ └── version.rb │ └── 2.rb ├── sig ├── 2.rbs ├── client.rbs ├── connection.rbs ├── emitter.rbs ├── error.rbs ├── extensions.rbs ├── flow_buffer.rbs ├── frame_buffer.rbs ├── framer.rbs ├── header.rbs ├── header │ ├── compressor.rbs │ ├── decompressor.rbs │ ├── encoding_context.rbs │ └── huffman.rbs ├── server.rbs └── stream.rbs ├── spec ├── client_spec.rb ├── compressor_spec.rb ├── connection_spec.rb ├── emitter_spec.rb ├── framer_spec.rb ├── helper.rb ├── hpack_test_spec.rb ├── huffman_spec.rb ├── server_spec.rb ├── shared_examples │ └── connection.rb └── stream_spec.rb └── tasks └── generate_huffman_table.rb /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | Gemfile.lock 3 | *.gem 4 | -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/.rubocop.yml -------------------------------------------------------------------------------- /.rubocop_todo.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/.rubocop_todo.yml -------------------------------------------------------------------------------- /.simplecov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/.simplecov -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/Rakefile -------------------------------------------------------------------------------- /benchmarks/client_server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/benchmarks/client_server.rb -------------------------------------------------------------------------------- /example/Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/Gemfile -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/README.md -------------------------------------------------------------------------------- /example/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/client.rb -------------------------------------------------------------------------------- /example/helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/helper.rb -------------------------------------------------------------------------------- /example/keys/server.crt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/keys/server.crt -------------------------------------------------------------------------------- /example/keys/server.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/keys/server.key -------------------------------------------------------------------------------- /example/raw.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/raw.rb -------------------------------------------------------------------------------- /example/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/server.rb -------------------------------------------------------------------------------- /example/upgrade_client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/upgrade_client.rb -------------------------------------------------------------------------------- /example/upgrade_server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/example/upgrade_server.rb -------------------------------------------------------------------------------- /h2spec-releases/h2spec_darwin_amd64.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/h2spec-releases/h2spec_darwin_amd64.tar.gz -------------------------------------------------------------------------------- /h2spec-releases/h2spec_linux_amd64.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/h2spec-releases/h2spec_linux_amd64.tar.gz -------------------------------------------------------------------------------- /h2spec-releases/h2spec_windows_amd64.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/h2spec-releases/h2spec_windows_amd64.zip -------------------------------------------------------------------------------- /http-2.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/http-2.gemspec -------------------------------------------------------------------------------- /lib/http/2.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2.rb -------------------------------------------------------------------------------- /lib/http/2/base64.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/base64.rb -------------------------------------------------------------------------------- /lib/http/2/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/client.rb -------------------------------------------------------------------------------- /lib/http/2/connection.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/connection.rb -------------------------------------------------------------------------------- /lib/http/2/emitter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/emitter.rb -------------------------------------------------------------------------------- /lib/http/2/error.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/error.rb -------------------------------------------------------------------------------- /lib/http/2/extensions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/extensions.rb -------------------------------------------------------------------------------- /lib/http/2/flow_buffer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/flow_buffer.rb -------------------------------------------------------------------------------- /lib/http/2/framer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/framer.rb -------------------------------------------------------------------------------- /lib/http/2/header.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/header.rb -------------------------------------------------------------------------------- /lib/http/2/header/compressor.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/header/compressor.rb -------------------------------------------------------------------------------- /lib/http/2/header/decompressor.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/header/decompressor.rb -------------------------------------------------------------------------------- /lib/http/2/header/encoding_context.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/header/encoding_context.rb -------------------------------------------------------------------------------- /lib/http/2/header/huffman.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/header/huffman.rb -------------------------------------------------------------------------------- /lib/http/2/header/huffman_statemachine.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/header/huffman_statemachine.rb -------------------------------------------------------------------------------- /lib/http/2/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/server.rb -------------------------------------------------------------------------------- /lib/http/2/stream.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/lib/http/2/stream.rb -------------------------------------------------------------------------------- /lib/http/2/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module HTTP2 4 | VERSION = "1.1.1" 5 | end 6 | -------------------------------------------------------------------------------- /sig/2.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/2.rbs -------------------------------------------------------------------------------- /sig/client.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/client.rbs -------------------------------------------------------------------------------- /sig/connection.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/connection.rbs -------------------------------------------------------------------------------- /sig/emitter.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/emitter.rbs -------------------------------------------------------------------------------- /sig/error.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/error.rbs -------------------------------------------------------------------------------- /sig/extensions.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/extensions.rbs -------------------------------------------------------------------------------- /sig/flow_buffer.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/flow_buffer.rbs -------------------------------------------------------------------------------- /sig/frame_buffer.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/frame_buffer.rbs -------------------------------------------------------------------------------- /sig/framer.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/framer.rbs -------------------------------------------------------------------------------- /sig/header.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/header.rbs -------------------------------------------------------------------------------- /sig/header/compressor.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/header/compressor.rbs -------------------------------------------------------------------------------- /sig/header/decompressor.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/header/decompressor.rbs -------------------------------------------------------------------------------- /sig/header/encoding_context.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/header/encoding_context.rbs -------------------------------------------------------------------------------- /sig/header/huffman.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/header/huffman.rbs -------------------------------------------------------------------------------- /sig/server.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/server.rbs -------------------------------------------------------------------------------- /sig/stream.rbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/sig/stream.rbs -------------------------------------------------------------------------------- /spec/client_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/client_spec.rb -------------------------------------------------------------------------------- /spec/compressor_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/compressor_spec.rb -------------------------------------------------------------------------------- /spec/connection_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/connection_spec.rb -------------------------------------------------------------------------------- /spec/emitter_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/emitter_spec.rb -------------------------------------------------------------------------------- /spec/framer_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/framer_spec.rb -------------------------------------------------------------------------------- /spec/helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/helper.rb -------------------------------------------------------------------------------- /spec/hpack_test_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/hpack_test_spec.rb -------------------------------------------------------------------------------- /spec/huffman_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/huffman_spec.rb -------------------------------------------------------------------------------- /spec/server_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/server_spec.rb -------------------------------------------------------------------------------- /spec/shared_examples/connection.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/shared_examples/connection.rb -------------------------------------------------------------------------------- /spec/stream_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/spec/stream_spec.rb -------------------------------------------------------------------------------- /tasks/generate_huffman_table.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igrigorik/http-2/HEAD/tasks/generate_huffman_table.rb --------------------------------------------------------------------------------