Fix the build

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
This commit is contained in:
slinkydeveloper 2021-07-06 17:20:54 +02:00 committed by Francesco Guardiani
parent 825ccbb258
commit 4f7bad00fa
13 changed files with 75 additions and 37 deletions

View File

@ -19,7 +19,7 @@ name = "cloudevents"
[features] [features]
actix = ["actix-web", "async-trait", "lazy_static", "bytes", "futures"] actix = ["actix-web", "async-trait", "lazy_static", "bytes", "futures"]
reqwest = ["reqwest-lib", "async-trait", "lazy_static", "bytes"] 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"] warp = ["warp-lib", "lazy_static", "bytes", "http", "hyper"]
[dependencies] [dependencies]

View File

@ -1,3 +1,5 @@
use rdkafka_lib as rdkafka;
use super::headers; use super::headers;
use crate::event::SpecVersion; use crate::event::SpecVersion;
use crate::message::{ use crate::message::{
@ -155,6 +157,8 @@ impl MessageExt for OwnedMessage {
} }
mod private { mod private {
use rdkafka_lib as rdkafka;
// Sealing the MessageExt // Sealing the MessageExt
pub trait Sealed {} pub trait Sealed {}
impl Sealed for rdkafka::message::OwnedMessage {} impl Sealed for rdkafka::message::OwnedMessage {}
@ -163,6 +167,8 @@ mod private {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use rdkafka_lib as rdkafka;
use super::*; use super::*;
use crate::binding::rdkafka::kafka_producer_record::MessageRecord; use crate::binding::rdkafka::kafka_producer_record::MessageRecord;

View File

@ -1,3 +1,5 @@
use rdkafka_lib as rdkafka;
use super::headers; use super::headers;
use crate::event::SpecVersion; use crate::event::SpecVersion;
use crate::message::{ use crate::message::{
@ -140,6 +142,8 @@ impl<'a, K: ToBytes + ?Sized> FutureRecordExt<'a, K> for FutureRecord<'a, K, Vec
} }
mod private { mod private {
use rdkafka_lib as rdkafka;
// Sealing the FutureRecordExt and BaseRecordExt // Sealing the FutureRecordExt and BaseRecordExt
pub trait Sealed {} pub trait Sealed {}
impl<K: rdkafka::message::ToBytes + ?Sized, V: rdkafka::message::ToBytes> Sealed impl<K: rdkafka::message::ToBytes + ?Sized, V: rdkafka::message::ToBytes> Sealed

View File

@ -4,7 +4,7 @@
//! To produce Cloudevents: //! To produce Cloudevents:
//! //!
//! ``` //! ```
//! //! # use rdkafka_lib as rdkafka;
//! use cloudevents::Event; //! use cloudevents::Event;
//! use rdkafka::producer::{FutureProducer, FutureRecord}; //! use rdkafka::producer::{FutureProducer, FutureRecord};
//! use rdkafka::util::Timeout; //! use rdkafka::util::Timeout;
@ -27,6 +27,7 @@
//! To consume Cloudevents: //! To consume Cloudevents:
//! //!
//! ``` //! ```
//! # use rdkafka_lib as rdkafka;
//! use rdkafka::consumer::{StreamConsumer, DefaultConsumerContext, Consumer, CommitMode}; //! use rdkafka::consumer::{StreamConsumer, DefaultConsumerContext, Consumer, CommitMode};
//! use cloudevents::binding::rdkafka::MessageExt; //! use cloudevents::binding::rdkafka::MessageExt;
//! use futures::StreamExt; //! use futures::StreamExt;

View File

@ -1,3 +1,5 @@
use reqwest_lib as reqwest;
use super::headers; use super::headers;
use crate::event::SpecVersion; use crate::event::SpecVersion;
use crate::message::{ use crate::message::{
@ -83,6 +85,8 @@ impl RequestBuilderExt for RequestBuilder {
// Sealing the RequestBuilderExt // Sealing the RequestBuilderExt
mod private { mod private {
use reqwest_lib as reqwest;
pub trait Sealed {} pub trait Sealed {}
impl Sealed for reqwest::RequestBuilder {} impl Sealed for reqwest::RequestBuilder {}
} }
@ -91,6 +95,7 @@ mod private {
mod tests { mod tests {
use super::*; use super::*;
use mockito::{mock, Matcher}; use mockito::{mock, Matcher};
use reqwest_lib as reqwest;
use crate::message::StructuredDeserializer; use crate::message::StructuredDeserializer;
use crate::{EventBuilder, EventBuilderV10}; use crate::{EventBuilder, EventBuilderV10};

View File

@ -1,3 +1,5 @@
use reqwest_lib as reqwest;
use super::headers; use super::headers;
use crate::event::SpecVersion; use crate::event::SpecVersion;
use crate::message::{ use crate::message::{
@ -127,6 +129,8 @@ impl ResponseExt for Response {
// Sealing the ResponseExt // Sealing the ResponseExt
mod private { mod private {
use reqwest_lib as reqwest;
pub trait Sealed {} pub trait Sealed {}
impl Sealed for reqwest::Response {} impl Sealed for reqwest::Response {}
} }
@ -135,6 +139,7 @@ mod private {
mod tests { mod tests {
use super::*; use super::*;
use mockito::mock; use mockito::mock;
use reqwest_lib as reqwest;
use crate::{EventBuilder, EventBuilderV10}; use crate::{EventBuilder, EventBuilderV10};
use chrono::Utc; use chrono::Utc;

View File

@ -1,3 +1,5 @@
use reqwest_lib as reqwest;
use crate::event::SpecVersion; use crate::event::SpecVersion;
use lazy_static::lazy_static; use lazy_static::lazy_static;
use reqwest::header::{HeaderName, HeaderValue}; use reqwest::header::{HeaderName, HeaderValue};

View File

@ -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. //! 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::binding::reqwest::{RequestBuilderExt, ResponseExt};
//! use cloudevents::{EventBuilderV10, EventBuilder}; //! use cloudevents::{EventBuilderV10, EventBuilder};
//! use serde_json::json; //! use serde_json::json;

View File

@ -1,3 +1,5 @@
use warp_lib as warp;
use super::server_request::request_to_event; use super::server_request::request_to_event;
use crate::Event; use crate::Event;
@ -16,6 +18,7 @@ impl warp::reject::Reject for EventFilterError {}
/// # Extracts [`crate::Event`] from incoming request /// # Extracts [`crate::Event`] from incoming request
/// ///
/// ``` /// ```
/// # use warp_lib as warp;
/// use cloudevents::binding::warp::filter::to_event; /// use cloudevents::binding::warp::filter::to_event;
/// use warp::Filter; /// use warp::Filter;
/// use warp::Reply; /// use warp::Reply;
@ -25,7 +28,7 @@ impl warp::reject::Reject for EventFilterError {}
/// .map(|event| { /// .map(|event| {
/// // do something with the event /// // do something with the event
/// } /// }
/// ); /// );
/// ``` /// ```
/// ///
pub fn to_event() -> impl Filter<Extract = (Event,), Error = Rejection> + Copy { pub fn to_event() -> impl Filter<Extract = (Event,), Error = Rejection> + Copy {
@ -41,6 +44,8 @@ async fn create_event(headers: HeaderMap, body: bytes::Bytes) -> Result<Event, R
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use warp_lib as warp;
use super::to_event; use super::to_event;
use warp::test; use warp::test;

View File

@ -1,3 +1,5 @@
use warp_lib as warp;
use crate::event::SpecVersion; use crate::event::SpecVersion;
use http::header::HeaderName; use http::header::HeaderName;
use lazy_static::lazy_static; use lazy_static::lazy_static;

View File

@ -6,56 +6,59 @@
//! To echo events: //! To echo events:
//! //!
//! ``` //! ```
//! # use warp_lib as warp;
//! use warp::{Filter, Reply}; //! use warp::{Filter, Reply};
//! use cloudevents::binding::warp::reply::from_event; //! use cloudevents::binding::warp::reply::from_event;
//! use cloudevents::binding::warp::filter::to_event; //! use cloudevents::binding::warp::filter::to_event;
//! //!
//! let routes = warp::any() //! let routes = warp::any()
//! // extracting event from request //! // extracting event from request
//! .and(to_event()) //! .and(to_event())
//! // returning event back //! // returning event back
//! .map(|event| from_event(event)); //! .map(|event| from_event(event));
//! //!
//! warp::serve(routes).run(([127, 0, 0, 1], 3030)); //! warp::serve(routes).run(([127, 0, 0, 1], 3030));
//! ``` //! ```
//! //!
//! To create event inside request handlers and send them as responses: //! To create event inside request handlers and send them as responses:
//! //!
//! ``` //! ```
//! # use warp_lib as warp;
//! use cloudevents::{Event, EventBuilder, EventBuilderV10}; //! use cloudevents::{Event, EventBuilder, EventBuilderV10};
//! use http::StatusCode; //! use http::StatusCode;
//! use serde_json::json; //! use serde_json::json;
//! use warp::{Filter, Reply}; //! use warp::{Filter, Reply};
//! use cloudevents::binding::warp::reply::from_event; //! use cloudevents::binding::warp::reply::from_event;
//! //!
//! let routes = warp::any().map(|| { //! let routes = warp::any().map(|| {
//! let event = EventBuilderV10::new() //! let event = EventBuilderV10::new()
//! .id("1") //! .id("1")
//! .source("url://example_response/") //! .source("url://example_response/")
//! .ty("example.ce") //! .ty("example.ce")
//! .data( //! .data(
//! mime::APPLICATION_JSON.to_string(), //! mime::APPLICATION_JSON.to_string(),
//! json!({ //! json!({
//! "name": "John Doe", //! "name": "John Doe",
//! "age": 43, //! "age": 43,
//! "phones": [ //! "phones": [
//! "+44 1234567", //! "+44 1234567",
//! "+44 2345678" //! "+44 2345678"
//! ] //! ]
//! }), //! }),
//! ) //! )
//! .build(); //! .build();
//! //!
//! match event { //! match event {
//! Ok(event) => Ok(from_event(event)), //! Ok(event) => Ok(from_event(event)),
//! Err(e) => Ok(warp::reply::with_status( //! Err(e) => Ok(warp::reply::with_status(
//! e.to_string(), //! e.to_string(),
//! StatusCode::INTERNAL_SERVER_ERROR, //! StatusCode::INTERNAL_SERVER_ERROR,
//! ) //! )
//! .into_response()), //! .into_response()),
//! } //! }
//! }); //! });
//! warp::serve(routes).run(([127, 0, 0, 1], 3030)); //!
//! warp::serve(routes).run(([127, 0, 0, 1], 3030));
//! ``` //! ```
#[macro_use] #[macro_use]

View File

@ -1,3 +1,5 @@
use warp_lib as warp;
use super::server_response::event_to_response; use super::server_response::event_to_response;
use crate::Event; use crate::Event;
@ -8,6 +10,7 @@ use warp::reply::Response;
/// # Serializes [`crate::Event`] as a http response /// # Serializes [`crate::Event`] as a http response
/// ///
/// ``` /// ```
/// # use warp_lib as warp;
/// use cloudevents::binding::warp::reply::from_event; /// use cloudevents::binding::warp::reply::from_event;
/// use cloudevents::Event; /// use cloudevents::Event;
/// use warp::Filter; /// use warp::Filter;
@ -28,7 +31,6 @@ pub fn from_event(event: Event) -> Response {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use crate::{EventBuilder, EventBuilderV10}; use crate::{EventBuilder, EventBuilderV10};
use serde_json::json; use serde_json::json;

View File

@ -1,3 +1,5 @@
use warp_lib as warp;
use super::headers; use super::headers;
use crate::event::SpecVersion; use crate::event::SpecVersion;