├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── Makefile ├── README.md ├── samples ├── client.cr └── server.cr ├── shard.lock ├── shard.yml ├── src ├── config.cr ├── connection.cr ├── core_ext │ ├── http_request.cr │ ├── http_server.cr │ ├── http_server_context.cr │ └── http_server_response.cr ├── data.cr ├── errors.cr ├── frame.cr ├── hpack │ ├── dynamic_table.cr │ ├── hpack.cr │ ├── huffman.cr │ └── static_table.cr ├── http2.cr ├── io │ └── circular_buffer.cr ├── log.cr ├── server.cr ├── server │ └── http1.cr ├── settings.cr ├── slice_reader.cr ├── stream.cr └── streams.cr └── test ├── hpack ├── decoder_test.cr └── encoder_test.cr ├── io └── circular_buffer_test.cr ├── slice_reader_test.cr └── test_helper.cr /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .crystal 2 | .shards 3 | /lib 4 | /bin/* 5 | /ssl 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/README.md -------------------------------------------------------------------------------- /samples/client.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/samples/client.cr -------------------------------------------------------------------------------- /samples/server.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/samples/server.cr -------------------------------------------------------------------------------- /shard.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/shard.lock -------------------------------------------------------------------------------- /shard.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/shard.yml -------------------------------------------------------------------------------- /src/config.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/config.cr -------------------------------------------------------------------------------- /src/connection.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/connection.cr -------------------------------------------------------------------------------- /src/core_ext/http_request.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/core_ext/http_request.cr -------------------------------------------------------------------------------- /src/core_ext/http_server.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/core_ext/http_server.cr -------------------------------------------------------------------------------- /src/core_ext/http_server_context.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/core_ext/http_server_context.cr -------------------------------------------------------------------------------- /src/core_ext/http_server_response.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/core_ext/http_server_response.cr -------------------------------------------------------------------------------- /src/data.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/data.cr -------------------------------------------------------------------------------- /src/errors.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/errors.cr -------------------------------------------------------------------------------- /src/frame.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/frame.cr -------------------------------------------------------------------------------- /src/hpack/dynamic_table.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/hpack/dynamic_table.cr -------------------------------------------------------------------------------- /src/hpack/hpack.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/hpack/hpack.cr -------------------------------------------------------------------------------- /src/hpack/huffman.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/hpack/huffman.cr -------------------------------------------------------------------------------- /src/hpack/static_table.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/hpack/static_table.cr -------------------------------------------------------------------------------- /src/http2.cr: -------------------------------------------------------------------------------- 1 | require "./connection" 2 | -------------------------------------------------------------------------------- /src/io/circular_buffer.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/io/circular_buffer.cr -------------------------------------------------------------------------------- /src/log.cr: -------------------------------------------------------------------------------- 1 | require "log" 2 | 3 | module HTTP2 4 | Log = ::Log.for("http2") 5 | end 6 | -------------------------------------------------------------------------------- /src/server.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/server.cr -------------------------------------------------------------------------------- /src/server/http1.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/server/http1.cr -------------------------------------------------------------------------------- /src/settings.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/settings.cr -------------------------------------------------------------------------------- /src/slice_reader.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/slice_reader.cr -------------------------------------------------------------------------------- /src/stream.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/stream.cr -------------------------------------------------------------------------------- /src/streams.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/src/streams.cr -------------------------------------------------------------------------------- /test/hpack/decoder_test.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/test/hpack/decoder_test.cr -------------------------------------------------------------------------------- /test/hpack/encoder_test.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/test/hpack/encoder_test.cr -------------------------------------------------------------------------------- /test/io/circular_buffer_test.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/test/io/circular_buffer_test.cr -------------------------------------------------------------------------------- /test/slice_reader_test.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/test/slice_reader_test.cr -------------------------------------------------------------------------------- /test/test_helper.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysbaddaden/http2/HEAD/test/test_helper.cr --------------------------------------------------------------------------------