Skip to content

EasyHttpMock Vetis Compio

Crates.io downloads crates.io Build Status Crates.io MSRV Documentation MIT licensed codecov

This crate provides the core functionality for creating HTTP mock servers using the Compio runtime.

Quick Start

Add EasyHttpMock Vetis Compio to your Cargo.toml:

easyhttpmock-vetis-compio = { version = "0.1.0-beta.1", features = ["http2", "rust-tls"] }
compio = { version = "0.19.1", default-features = false, features = ["io-uring", "macros", "runtime"] }

Usage Example

Here's how simple it is to create a web server with VeTiS:

use easyhttpmock_vetis_compio::{
    EasyHttpMock,
    config::EasyHttpMockConfig,
    matchers::{method, path},
    mock::{AsyncMatcherExt, Mock, StatusCodeExt, given},
    vetis_adapter::VetisAdapter,
};
use http::{Method, StatusCode};
use std::error::Error;

#[compio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let config = EasyHttpMockConfig::<VetisAdapter>::default();
    let server = EasyHttpMock::new(config);
    let mut server = match server {
        Ok(server) => server,
        Err(err) => {
            panic!("Failed to create mock server: {}", err);
        }
    };

    let mock = Mock::of(
        given(method(Method::GET).and(path("/test"))).will_return(
            StatusCode::OK
                .respond()
                .with_body(b"teste"),
        ),
    );

    server.register_mock(mock).await?;

    Ok(())
}

License

Licensed under either of

at your option.

Author

Rogerio Pereira Araujo rogerio.araujo@gmail.com

About

The effortless HTTP mock server for compio runtime

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages