diff --git a/Cargo.toml b/Cargo.toml index c2132bb..95db9b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ name = "cloudevents" [features] actix = ["actix-web", "async-trait", "lazy_static", "bytes", "futures"] reqwest = ["reqwest-lib", "async-trait", "lazy_static", "bytes"] -rdkafka = ["rdkafka-lib", "lazy_static", "bytes"] +rdkafka = ["rdkafka-lib", "lazy_static", "bytes", "futures"] warp = ["warp-lib", "lazy_static", "bytes", "http", "hyper"] [dependencies] diff --git a/src/binding/rdkafka/kafka_consumer_record.rs b/src/binding/rdkafka/kafka_consumer_record.rs index 02ad926..f118d19 100644 --- a/src/binding/rdkafka/kafka_consumer_record.rs +++ b/src/binding/rdkafka/kafka_consumer_record.rs @@ -1,3 +1,5 @@ +use rdkafka_lib as rdkafka; + use super::headers; use crate::event::SpecVersion; use crate::message::{ @@ -155,6 +157,8 @@ impl MessageExt for OwnedMessage { } mod private { + use rdkafka_lib as rdkafka; + // Sealing the MessageExt pub trait Sealed {} impl Sealed for rdkafka::message::OwnedMessage {} @@ -163,6 +167,8 @@ mod private { #[cfg(test)] mod tests { + use rdkafka_lib as rdkafka; + use super::*; use crate::binding::rdkafka::kafka_producer_record::MessageRecord; diff --git a/src/binding/rdkafka/kafka_producer_record.rs b/src/binding/rdkafka/kafka_producer_record.rs index c3e8951..3fbb27a 100644 --- a/src/binding/rdkafka/kafka_producer_record.rs +++ b/src/binding/rdkafka/kafka_producer_record.rs @@ -1,3 +1,5 @@ +use rdkafka_lib as rdkafka; + use super::headers; use crate::event::SpecVersion; use crate::message::{ @@ -140,6 +142,8 @@ impl<'a, K: ToBytes + ?Sized> FutureRecordExt<'a, K> for FutureRecord<'a, K, Vec } mod private { + use rdkafka_lib as rdkafka; + // Sealing the FutureRecordExt and BaseRecordExt pub trait Sealed {} impl Sealed diff --git a/src/binding/rdkafka/mod.rs b/src/binding/rdkafka/mod.rs index 497cf3a..676152c 100644 --- a/src/binding/rdkafka/mod.rs +++ b/src/binding/rdkafka/mod.rs @@ -4,7 +4,7 @@ //! To produce Cloudevents: //! //! ``` -//! +//! # use rdkafka_lib as rdkafka; //! use cloudevents::Event; //! use rdkafka::producer::{FutureProducer, FutureRecord}; //! use rdkafka::util::Timeout; @@ -27,6 +27,7 @@ //! To consume Cloudevents: //! //! ``` +//! # use rdkafka_lib as rdkafka; //! use rdkafka::consumer::{StreamConsumer, DefaultConsumerContext, Consumer, CommitMode}; //! use cloudevents::binding::rdkafka::MessageExt; //! use futures::StreamExt; diff --git a/src/binding/reqwest/client_request.rs b/src/binding/reqwest/client_request.rs index 64b3703..f8e8d58 100644 --- a/src/binding/reqwest/client_request.rs +++ b/src/binding/reqwest/client_request.rs @@ -1,3 +1,5 @@ +use reqwest_lib as reqwest; + use super::headers; use crate::event::SpecVersion; use crate::message::{ @@ -83,6 +85,8 @@ impl RequestBuilderExt for RequestBuilder { // Sealing the RequestBuilderExt mod private { + use reqwest_lib as reqwest; + pub trait Sealed {} impl Sealed for reqwest::RequestBuilder {} } @@ -91,6 +95,7 @@ mod private { mod tests { use super::*; use mockito::{mock, Matcher}; + use reqwest_lib as reqwest; use crate::message::StructuredDeserializer; use crate::{EventBuilder, EventBuilderV10}; diff --git a/src/binding/reqwest/client_response.rs b/src/binding/reqwest/client_response.rs index 7aa2ab9..a4c0702 100644 --- a/src/binding/reqwest/client_response.rs +++ b/src/binding/reqwest/client_response.rs @@ -1,3 +1,5 @@ +use reqwest_lib as reqwest; + use super::headers; use crate::event::SpecVersion; use crate::message::{ @@ -127,6 +129,8 @@ impl ResponseExt for Response { // Sealing the ResponseExt mod private { + use reqwest_lib as reqwest; + pub trait Sealed {} impl Sealed for reqwest::Response {} } @@ -135,6 +139,7 @@ mod private { mod tests { use super::*; use mockito::mock; + use reqwest_lib as reqwest; use crate::{EventBuilder, EventBuilderV10}; use chrono::Utc; diff --git a/src/binding/reqwest/headers.rs b/src/binding/reqwest/headers.rs index 4cb98d6..7d97f21 100644 --- a/src/binding/reqwest/headers.rs +++ b/src/binding/reqwest/headers.rs @@ -1,3 +1,5 @@ +use reqwest_lib as reqwest; + use crate::event::SpecVersion; use lazy_static::lazy_static; use reqwest::header::{HeaderName, HeaderValue}; diff --git a/src/binding/reqwest/mod.rs b/src/binding/reqwest/mod.rs index 08bdb2b..50844ee 100644 --- a/src/binding/reqwest/mod.rs +++ b/src/binding/reqwest/mod.rs @@ -1,6 +1,7 @@ //! This module integrates the [cloudevents-sdk](https://docs.rs/cloudevents-sdk) with [reqwest](https://docs.rs/reqwest/) to easily send and receive CloudEvents. //! //! ``` +//! # use reqwest_lib as reqwest; //! use cloudevents::binding::reqwest::{RequestBuilderExt, ResponseExt}; //! use cloudevents::{EventBuilderV10, EventBuilder}; //! use serde_json::json; diff --git a/src/binding/warp/filter.rs b/src/binding/warp/filter.rs index 7b5245a..b7546de 100644 --- a/src/binding/warp/filter.rs +++ b/src/binding/warp/filter.rs @@ -1,3 +1,5 @@ +use warp_lib as warp; + use super::server_request::request_to_event; use crate::Event; @@ -16,6 +18,7 @@ impl warp::reject::Reject for EventFilterError {} /// # Extracts [`crate::Event`] from incoming request /// /// ``` +/// # use warp_lib as warp; /// use cloudevents::binding::warp::filter::to_event; /// use warp::Filter; /// use warp::Reply; @@ -25,7 +28,7 @@ impl warp::reject::Reject for EventFilterError {} /// .map(|event| { /// // do something with the event /// } -/// ); +/// ); /// ``` /// pub fn to_event() -> impl Filter + Copy { @@ -41,6 +44,8 @@ async fn create_event(headers: HeaderMap, body: bytes::Bytes) -> Result Ok(from_event(event)), -//! Err(e) => Ok(warp::reply::with_status( -//! e.to_string(), -//! StatusCode::INTERNAL_SERVER_ERROR, -//! ) -//! .into_response()), -//! } -//! }); -//! warp::serve(routes).run(([127, 0, 0, 1], 3030)); +//! match event { +//! Ok(event) => Ok(from_event(event)), +//! Err(e) => Ok(warp::reply::with_status( +//! e.to_string(), +//! StatusCode::INTERNAL_SERVER_ERROR, +//! ) +//! .into_response()), +//! } +//! }); +//! +//! warp::serve(routes).run(([127, 0, 0, 1], 3030)); //! ``` #[macro_use] diff --git a/src/binding/warp/reply.rs b/src/binding/warp/reply.rs index 48bd40a..a56db99 100644 --- a/src/binding/warp/reply.rs +++ b/src/binding/warp/reply.rs @@ -1,3 +1,5 @@ +use warp_lib as warp; + use super::server_response::event_to_response; use crate::Event; @@ -8,6 +10,7 @@ use warp::reply::Response; /// # Serializes [`crate::Event`] as a http response /// /// ``` +/// # use warp_lib as warp; /// use cloudevents::binding::warp::reply::from_event; /// use cloudevents::Event; /// use warp::Filter; @@ -28,7 +31,6 @@ pub fn from_event(event: Event) -> Response { #[cfg(test)] mod tests { - use crate::{EventBuilder, EventBuilderV10}; use serde_json::json; diff --git a/src/binding/warp/server_response.rs b/src/binding/warp/server_response.rs index ba33db4..599277a 100644 --- a/src/binding/warp/server_response.rs +++ b/src/binding/warp/server_response.rs @@ -1,3 +1,5 @@ +use warp_lib as warp; + use super::headers; use crate::event::SpecVersion;