【文件属性】:
文件名称:http-2:HTTP2协议的纯Ruby实现
文件大小:1.98MB
文件格式:ZIP
更新时间:2021-04-05 23:57:21
Ruby
HTTP-2
纯Ruby,与框架和传输无关,HTTP / 2协议和HPACK标头压缩的实现,并支持:
解析和编码
和
连接和
和
连接和流管理
还有更多...请参阅
协议规格:
入门
$ > gem install http-2
此实现不假设数据如何传递:它可以是常规的Ruby TCP套接字,您的自定义eventloop或您希望使用的任何其他传输方式(例如ZeroMQ,等)。
您的代码负责将数据馈送到解析器,解析器执行所有必要的HTTP / 2解码,状态管理以及其余工作,反之亦然,解析器将发出字节(编码的HTTP / 2帧),然后您可以将其路由到目的地。 大致来说,它的工作方式如下:
require 'http/2'
socket = YourTransport . new
conn = HTTP2 :: Client . new
conn . on ( :frame ) {
【文件预览】:
http-2-master
----.coveralls.yml(24B)
----.rubocop_todo.yml(3KB)
----Guardfile.h2spec(252B)
----.gitmodules(114B)
----.autotest(468B)
----lib()
--------http()
--------tasks()
----Gemfile(266B)
----Guardfile(446B)
----spec()
--------h2spec()
--------emitter_spec.rb(1KB)
--------hpack_test_spec.rb(3KB)
--------huffman_spec.rb(3KB)
--------hpack-test-case()
--------buffer_spec.rb(684B)
--------connection_spec.rb(22KB)
--------stream_spec.rb(28KB)
--------client_spec.rb(5KB)
--------helper.rb(3KB)
--------compressor_spec.rb(22KB)
--------server_spec.rb(1KB)
--------support()
--------framer_spec.rb(14KB)
----Rakefile(1KB)
----.travis.yml(215B)
----example()
--------client.rb(3KB)
--------upgrade_client.rb(3KB)
--------Gemfile(52B)
--------server.rb(4KB)
--------keys()
--------helper.rb(255B)
--------README.md(1KB)
--------upgrade_server.rb(5KB)
----LICENSE(1KB)
----README.md(11KB)
----.rubocop.yml(1KB)
----.rspec(64B)
----.gitignore(178B)
----http-2.gemspec(856B)