http3 0.0.3
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 +7 -0
- data/.clang-format +1 -0
- data/.vscode/extensions.json +6 -0
- data/.vscode/settings.json +10 -0
- data/CHANGELOG.md +34 -0
- data/CODE_OF_CONDUCT.md +132 -0
- data/LICENSE-DEPENDENCIES.txt +66 -0
- data/LICENSE.txt +21 -0
- data/README.md +127 -0
- data/Rakefile +20 -0
- data/ext/http3/extconf.rb +48 -0
- data/ext/http3/nghttp3.c +347 -0
- data/ext/http3/nghttp3.h +105 -0
- data/ext/http3/nghttp3_callbacks.c +621 -0
- data/ext/http3/nghttp3_connection.c +1303 -0
- data/ext/http3/nghttp3_nv.c +87 -0
- data/ext/http3/nghttp3_qpack.c +656 -0
- data/ext/http3/nghttp3_settings.c +188 -0
- data/ext/http3/session.c +1017 -0
- data/lib/http3/rack_adapter.rb +162 -0
- data/lib/http3/request.rb +9 -0
- data/lib/http3/response.rb +21 -0
- data/lib/http3/server.rb +357 -0
- data/lib/http3/session.rb +193 -0
- data/lib/http3/version.rb +5 -0
- data/lib/http3.rb +16 -0
- data/sig/http3/nghttp3/callbacks.rbs +32 -0
- data/sig/http3/nghttp3/connection.rbs +101 -0
- data/sig/http3/nghttp3/error.rbs +48 -0
- data/sig/http3/nghttp3/info.rbs +9 -0
- data/sig/http3/nghttp3/nv.rbs +11 -0
- data/sig/http3/nghttp3/qpack.rbs +48 -0
- data/sig/http3/nghttp3/settings.rbs +27 -0
- data/sig/http3/rack_adapter.rbs +18 -0
- data/sig/http3/request.rbs +11 -0
- data/sig/http3/response.rbs +30 -0
- data/sig/http3/server.rbs +32 -0
- data/sig/http3/session.rbs +52 -0
- data/sig/http3.rbs +66 -0
- metadata +140 -0
data/sig/http3.rbs
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
module HTTP3
|
|
2
|
+
VERSION: String
|
|
3
|
+
|
|
4
|
+
module Nghttp3
|
|
5
|
+
# nghttp3 library compile-time constants
|
|
6
|
+
NGHTTP3_VERSION: String
|
|
7
|
+
NGHTTP3_VERSION_NUM: Integer
|
|
8
|
+
NGHTTP3_VERSION_AGE: Integer
|
|
9
|
+
|
|
10
|
+
# nghttp3 error code constants
|
|
11
|
+
NGHTTP3_ERR_INVALID_ARGUMENT: Integer
|
|
12
|
+
NGHTTP3_ERR_INVALID_STATE: Integer
|
|
13
|
+
NGHTTP3_ERR_WOULDBLOCK: Integer
|
|
14
|
+
NGHTTP3_ERR_STREAM_IN_USE: Integer
|
|
15
|
+
NGHTTP3_ERR_MALFORMED_HTTP_HEADER: Integer
|
|
16
|
+
NGHTTP3_ERR_MALFORMED_HTTP_MESSAGING: Integer
|
|
17
|
+
NGHTTP3_ERR_QPACK_FATAL: Integer
|
|
18
|
+
NGHTTP3_ERR_QPACK_HEADER_TOO_LARGE: Integer
|
|
19
|
+
NGHTTP3_ERR_STREAM_NOT_FOUND: Integer
|
|
20
|
+
NGHTTP3_ERR_CONN_CLOSING: Integer
|
|
21
|
+
NGHTTP3_ERR_STREAM_DATA_OVERFLOW: Integer
|
|
22
|
+
NGHTTP3_ERR_FATAL: Integer
|
|
23
|
+
NGHTTP3_ERR_NOMEM: Integer
|
|
24
|
+
NGHTTP3_ERR_CALLBACK_FAILURE: Integer
|
|
25
|
+
|
|
26
|
+
# NV flag constants
|
|
27
|
+
NV_FLAG_NONE: Integer
|
|
28
|
+
NV_FLAG_NEVER_INDEX: Integer
|
|
29
|
+
NV_FLAG_NO_COPY_NAME: Integer
|
|
30
|
+
NV_FLAG_NO_COPY_VALUE: Integer
|
|
31
|
+
NV_FLAG_TRY_INDEX: Integer
|
|
32
|
+
|
|
33
|
+
# Data flag constants
|
|
34
|
+
DATA_FLAG_NONE: Integer
|
|
35
|
+
DATA_FLAG_EOF: Integer
|
|
36
|
+
DATA_FLAG_NO_END_STREAM: Integer
|
|
37
|
+
|
|
38
|
+
# HTTP/3 application error code constants
|
|
39
|
+
H3_NO_ERROR: Integer
|
|
40
|
+
H3_GENERAL_PROTOCOL_ERROR: Integer
|
|
41
|
+
H3_INTERNAL_ERROR: Integer
|
|
42
|
+
H3_STREAM_CREATION_ERROR: Integer
|
|
43
|
+
H3_CLOSED_CRITICAL_STREAM: Integer
|
|
44
|
+
H3_FRAME_UNEXPECTED: Integer
|
|
45
|
+
H3_FRAME_ERROR: Integer
|
|
46
|
+
H3_EXCESSIVE_LOAD: Integer
|
|
47
|
+
H3_ID_ERROR: Integer
|
|
48
|
+
H3_SETTINGS_ERROR: Integer
|
|
49
|
+
H3_MISSING_SETTINGS: Integer
|
|
50
|
+
H3_REQUEST_REJECTED: Integer
|
|
51
|
+
H3_REQUEST_CANCELLED: Integer
|
|
52
|
+
H3_REQUEST_INCOMPLETE: Integer
|
|
53
|
+
H3_MESSAGE_ERROR: Integer
|
|
54
|
+
H3_CONNECT_ERROR: Integer
|
|
55
|
+
H3_VERSION_FALLBACK: Integer
|
|
56
|
+
|
|
57
|
+
# Returns runtime version info, or nil if least_version requirement not met
|
|
58
|
+
def self.library_version: (?Integer least_version) -> Info?
|
|
59
|
+
|
|
60
|
+
# Returns true if the given error code represents a fatal error
|
|
61
|
+
def self.err_is_fatal?: (Integer error_code) -> bool
|
|
62
|
+
|
|
63
|
+
# Returns a textual representation of the given error code
|
|
64
|
+
def self.strerror: (Integer error_code) -> String
|
|
65
|
+
end
|
|
66
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: http3
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.3
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Yusuke Nakamura
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: mini_portile2
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '2.8'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '2.8'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: quic
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 0.0.3
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: 0.0.3
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: rack
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '3.0'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '3.0'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: logger
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '0'
|
|
68
|
+
description: An HTTP/3 server for Rack 3 applications, built on the quic gem and nghttp3
|
|
69
|
+
(HTTP/3 and QPACK). nghttp3 is built at install time and linked statically, and
|
|
70
|
+
its Ruby bindings are available as HTTP3::Nghttp3.
|
|
71
|
+
email:
|
|
72
|
+
- yusuke1994525@gmail.com
|
|
73
|
+
executables: []
|
|
74
|
+
extensions:
|
|
75
|
+
- ext/http3/extconf.rb
|
|
76
|
+
extra_rdoc_files: []
|
|
77
|
+
files:
|
|
78
|
+
- ".clang-format"
|
|
79
|
+
- ".vscode/extensions.json"
|
|
80
|
+
- ".vscode/settings.json"
|
|
81
|
+
- CHANGELOG.md
|
|
82
|
+
- CODE_OF_CONDUCT.md
|
|
83
|
+
- LICENSE-DEPENDENCIES.txt
|
|
84
|
+
- LICENSE.txt
|
|
85
|
+
- README.md
|
|
86
|
+
- Rakefile
|
|
87
|
+
- ext/http3/extconf.rb
|
|
88
|
+
- ext/http3/nghttp3.c
|
|
89
|
+
- ext/http3/nghttp3.h
|
|
90
|
+
- ext/http3/nghttp3_callbacks.c
|
|
91
|
+
- ext/http3/nghttp3_connection.c
|
|
92
|
+
- ext/http3/nghttp3_nv.c
|
|
93
|
+
- ext/http3/nghttp3_qpack.c
|
|
94
|
+
- ext/http3/nghttp3_settings.c
|
|
95
|
+
- ext/http3/session.c
|
|
96
|
+
- lib/http3.rb
|
|
97
|
+
- lib/http3/rack_adapter.rb
|
|
98
|
+
- lib/http3/request.rb
|
|
99
|
+
- lib/http3/response.rb
|
|
100
|
+
- lib/http3/server.rb
|
|
101
|
+
- lib/http3/session.rb
|
|
102
|
+
- lib/http3/version.rb
|
|
103
|
+
- sig/http3.rbs
|
|
104
|
+
- sig/http3/nghttp3/callbacks.rbs
|
|
105
|
+
- sig/http3/nghttp3/connection.rbs
|
|
106
|
+
- sig/http3/nghttp3/error.rbs
|
|
107
|
+
- sig/http3/nghttp3/info.rbs
|
|
108
|
+
- sig/http3/nghttp3/nv.rbs
|
|
109
|
+
- sig/http3/nghttp3/qpack.rbs
|
|
110
|
+
- sig/http3/nghttp3/settings.rbs
|
|
111
|
+
- sig/http3/rack_adapter.rbs
|
|
112
|
+
- sig/http3/request.rbs
|
|
113
|
+
- sig/http3/response.rbs
|
|
114
|
+
- sig/http3/server.rbs
|
|
115
|
+
- sig/http3/session.rbs
|
|
116
|
+
homepage: https://github.com/unasuke/http3-ruby
|
|
117
|
+
licenses:
|
|
118
|
+
- MIT
|
|
119
|
+
metadata:
|
|
120
|
+
homepage_uri: https://github.com/unasuke/http3-ruby
|
|
121
|
+
source_code_uri: https://github.com/unasuke/http3-ruby
|
|
122
|
+
changelog_uri: https://github.com/unasuke/http3-ruby/blob/main/CHANGELOG.md
|
|
123
|
+
rdoc_options: []
|
|
124
|
+
require_paths:
|
|
125
|
+
- lib
|
|
126
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
|
+
requirements:
|
|
128
|
+
- - ">="
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: 3.3.0
|
|
131
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
|
+
requirements:
|
|
133
|
+
- - ">="
|
|
134
|
+
- !ruby/object:Gem::Version
|
|
135
|
+
version: '0'
|
|
136
|
+
requirements: []
|
|
137
|
+
rubygems_version: 4.0.16
|
|
138
|
+
specification_version: 4
|
|
139
|
+
summary: An HTTP/3 server for Ruby, built on nghttp3 and the quic gem
|
|
140
|
+
test_files: []
|