use h2::client;
use http::{HeaderMap, Request};
use std::error::Error;
use tokio::net::TcpStream;
#[ tokio::main]
pub async fn main() -> Result<(),
Box <
dyn Error>> {
let _ = env_logger::try_init();
let tcp = TcpStream::connect(
"127.0.0.1:5928" ).
await ?;
let (
mut client, h2) = client::handshake(tcp).
await ?;
println!(
"sending request" );
let request = Request::builder()
.uri(
"https://http2.akamai.com/ ")
.body(())
.unwrap();
let mut trailers = HeaderMap::new();
trailers.insert(
"zomg" ,
"hello" .parse().unwrap());
let (response,
mut stream) = client.send_request(request,
false ).unwrap();
// send trailers
stream.send_trailers(trailers).unwrap();
// Spawn a task to run the conn...
tokio::spawn(
async move {
if let Err(e) = h2.
await {
println!(
"GOT ERR={:?}" , e);
}
});
let response = response.
await ?;
println!(
"GOT RESPONSE: {:?}" , response);
// Get the body
let mut body = response.into_body();
while let Some(chunk) = body.data().
await {
println!(
"GOT CHUNK = {:?}" , chunk?);
}
if let Some(trailers) = body.trailers().
await ? {
println!(
"GOT TRAILERS: {:?}" , trailers);
}
Ok(())
}
Messung V0.5 in Prozent C=93 H=78 G=85
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-19)
¤
*© Formatika GbR, Deutschland