hyper-named-pipe

Crates.iohyper-named-pipe
lib.rshyper-named-pipe
version0.1.0
sourcesrc
created_at2024-01-20 12:46:27.356284
updated_at2024-01-24 18:32:54.182321
descriptionHyper client bindings for Windows Named Pipes
homepagehttps://github.com/fussybeaver/hyper-named-pipe
repositoryhttps://github.com/fussybeaver/hyper-named-pipe
max_upload_size
id1106452
size24,997
Niel Drummond (fussybeaver)

documentation

https://docs.rs/hyper-named-pipe

README

crates.io license appveyor docs

Hyper-named-pipe: Hyper client bindings for Windows Named Pipes

Exposes a HTTP interface over Tokio's Named Pipes implementation through a Hyper Connection interface.

Install

Add the following to your Cargo.toml file

[dependencies]
hyper-named-pipe = "*"

Usage

Ensure host's are hex-encoded when passed into HyperUri as this will bypass validation.

let pipe_name = r"\\.\pipe\named-pipe";

let builder = Client::builder(TokioExecutor::new());
let client: Client<NamedPipeConnector, Full<Bytes>> = builder.build(NamedPipeConnector);

let host = hex::encode(pipe_name);
let uri_str = format!("{}://{}", NAMED_PIPE_SCHEME, host);
let url = uri_str.parse().expect("Invalid URI");

async move {
  client.get(url).await.expect("Unable to fetch URL with Hyper client");
};

Tests

It's possible to run the unit test on a unix platform using the cross helper:

cross test --target i686-pc-windows-gnu
Commit count: 0

cargo fmt