1[package]
2name = "hyper"
3version = "0.14.28"
4description = "A fast and correct HTTP library."
5readme = "README.md"
6homepage = "https://hyper.rs"
7documentation = "https://docs.rs/hyper"
8repository = "https://github.com/hyperium/hyper"
9license = "MIT"
10authors = ["Sean McArthur <sean@seanmonstar.com>"]
11keywords = ["http", "hyper", "hyperium"]
12categories = ["network-programming", "web-programming::http-client", "web-programming::http-server"]
13edition = "2018"
14
15include = [
16 "Cargo.toml",
17 "LICENSE",
18 "src/**/*",
19 #"build.rs",
20]
21
22[dependencies]
23bytes = "1"
24futures-core = { version = "0.3", default-features = false }
25futures-channel = "0.3"
26futures-util = { version = "0.3", default-features = false }
27http = "0.2"
28http-body = "0.4"
29httpdate = "1.0"
30httparse = "1.8"
31h2 = { version = "0.3.17", optional = true }
32itoa = "1"
33tracing = { version = "0.1", default-features = false, features = ["std"] }
34pin-project-lite = "0.2.4"
35tower-service = "0.3"
36tokio = { version = "1", features = ["sync"] }
37want = "0.3"
38
39# Optional
40
41libc = { version = "0.2", optional = true }
42socket2 = { version = ">=0.4.7, <0.6.0", optional = true, features = ["all"] }
43
44[dev-dependencies]
45futures-util = { version = "0.3", default-features = false, features = ["alloc"] }
46matches = "0.1"
47num_cpus = "1.0"
48pretty_env_logger = "0.4"
49spmc = "0.3"
50serde = { version = "1.0", features = ["derive"] }
51serde_json = "1.0"
52tokio = { version = "1", features = [
53 "fs",
54 "macros",
55 "io-std",
56 "io-util",
57 "rt",
58 "rt-multi-thread", # so examples can use #[tokio::main]
59 "sync",
60 "time",
61 "test-util",
62] }
63tokio-test = "0.4"
64tokio-util = { version = "0.7", features = ["codec"] }
65tower = { version = "0.4", default-features = false, features = ["make", "util"] }
66url = "2.2"
67
68[target.'cfg(any(target_os = "linux", target_os = "macos"))'.dev-dependencies]
69pnet_datalink = "0.27.2"
70
71[features]
72# Nothing by default
73default = []
74
75# Easily turn it all on
76full = [
77 "client",
78 "http1",
79 "http2",
80 "server",
81 "stream",
82 "runtime",
83]
84
85# HTTP versions
86http1 = []
87http2 = ["h2"]
88
89# Client/Server
90client = []
91server = []
92
93# `impl Stream` for things
94stream = []
95
96# Tokio support
97runtime = [
98 "tcp",
99 "tokio/rt",
100 "tokio/time",
101]
102tcp = [
103 "socket2",
104 "tokio/net",
105 "tokio/rt",
106 "tokio/time",
107]
108
109# C-API support (currently unstable (no semver))
110ffi = ["libc"]
111
112# enable 1.0 backports
113backports = []
114
115# whether or not to display deprecation warnings
116deprecated = []
117
118# internal features used in CI
119nightly = []
120__internal_happy_eyeballs_tests = []
121
122[package.metadata.docs.rs]
123features = ["ffi", "full"]
124rustdoc-args = ["--cfg", "docsrs", "--cfg", "hyper_unstable_ffi"]
125
126[package.metadata.playground]
127features = ["full"]
128
129[profile.release]
130codegen-units = 1
131incremental = false
132
133[profile.bench]
134codegen-units = 1
135incremental = false
136
137[[example]]
138name = "client"
139path = "examples/client.rs"
140required-features = ["full"]
141
142[[example]]
143name = "client_json"
144path = "examples/client_json.rs"
145required-features = ["full"]
146
147[[example]]
148name = "echo"
149path = "examples/echo.rs"
150required-features = ["full"]
151
152[[example]]
153name = "gateway"
154path = "examples/gateway.rs"
155required-features = ["full"]
156
157[[example]]
158name = "hello"
159path = "examples/hello.rs"
160required-features = ["full"]
161
162[[example]]
163name = "http_proxy"
164path = "examples/http_proxy.rs"
165required-features = ["full"]
166
167[[example]]
168name = "multi_server"
169path = "examples/multi_server.rs"
170required-features = ["full"]
171
172[[example]]
173name = "params"
174path = "examples/params.rs"
175required-features = ["full"]
176
177[[example]]
178name = "send_file"
179path = "examples/send_file.rs"
180required-features = ["full"]
181
182[[example]]
183name = "service_struct_impl"
184path = "examples/service_struct_impl.rs"
185required-features = ["full"]
186
187[[example]]
188name = "single_threaded"
189path = "examples/single_threaded.rs"
190required-features = ["full"]
191
192[[example]]
193name = "state"
194path = "examples/state.rs"
195required-features = ["full"]
196
197[[example]]
198name = "tower_client"
199path = "examples/tower_client.rs"
200required-features = ["full", "backports"]
201
202[[example]]
203name = "tower_server"
204path = "examples/tower_server.rs"
205required-features = ["full"]
206
207[[example]]
208name = "upgrades"
209path = "examples/upgrades.rs"
210required-features = ["full"]
211
212
213[[example]]
214name = "web_api"
215path = "examples/web_api.rs"
216required-features = ["full"]
217
218
219[[bench]]
220name = "body"
221path = "benches/body.rs"
222required-features = ["full"]
223
224[[bench]]
225name = "connect"
226path = "benches/connect.rs"
227required-features = ["full"]
228
229[[bench]]
230name = "end_to_end"
231path = "benches/end_to_end.rs"
232required-features = ["full"]
233
234[[bench]]
235name = "pipeline"
236path = "benches/pipeline.rs"
237required-features = ["full"]
238
239[[bench]]
240name = "server"
241path = "benches/server.rs"
242required-features = ["full"]
243
244
245[[test]]
246name = "client"
247path = "tests/client.rs"
248required-features = ["full"]
249
250[[test]]
251name = "integration"
252path = "tests/integration.rs"
253required-features = ["full"]
254
255[[test]]
256name = "server"
257path = "tests/server.rs"
258required-features = ["full"]
259