Expand description
Trait for async functions that can be used to handle Server-sent event
requests.
You shouldn’t need to depend on this trait directly. It is automatically
implemented to closures of the right types.
See the module docs for more details.
The stream of events produced by the handler.
The error handler might fail with.
Call the handler with the given input parsed by extractors and produce
the stream of events.
impl<F, Fut, S, B, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T1: FromRequest<B> + Send + 'static,
T2: FromRequest<B> + Send + 'static,
T3: FromRequest<B> + Send + 'static,
T4: FromRequest<B> + Send + 'static,
T5: FromRequest<B> + Send + 'static,
T6: FromRequest<B> + Send + 'static,
T7: FromRequest<B> + Send + 'static,
T8: FromRequest<B> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T2: FromRequest<B> + Send + 'static,
T3: FromRequest<B> + Send + 'static,
T4: FromRequest<B> + Send + 'static,
T5: FromRequest<B> + Send + 'static,
T6: FromRequest<B> + Send + 'static,
T7: FromRequest<B> + Send + 'static,
T8: FromRequest<B> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T3: FromRequest<B> + Send + 'static,
T4: FromRequest<B> + Send + 'static,
T5: FromRequest<B> + Send + 'static,
T6: FromRequest<B> + Send + 'static,
T7: FromRequest<B> + Send + 'static,
T8: FromRequest<B> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T4: FromRequest<B> + Send + 'static,
T5: FromRequest<B> + Send + 'static,
T6: FromRequest<B> + Send + 'static,
T7: FromRequest<B> + Send + 'static,
T8: FromRequest<B> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T5: FromRequest<B> + Send + 'static,
T6: FromRequest<B> + Send + 'static,
T7: FromRequest<B> + Send + 'static,
T8: FromRequest<B> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T6: FromRequest<B> + Send + 'static,
T7: FromRequest<B> + Send + 'static,
T8: FromRequest<B> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T7: FromRequest<B> + Send + 'static,
T8: FromRequest<B> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T8, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T8: FromRequest<B> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T9, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T9, T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T9: FromRequest<B> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T10, T11, T12, T13, T14, T15, T16> SseHandler<B, (T10, T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T10, T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T10: FromRequest<B> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T11, T12, T13, T14, T15, T16> SseHandler<B, (T11, T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T11, T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T11: FromRequest<B> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T12, T13, T14, T15, T16> SseHandler<B, (T12, T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T12, T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T12: FromRequest<B> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T13, T14, T15, T16> SseHandler<B, (T13, T14, T15, T16)> for F where
B: Send,
F: FnOnce(T13, T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T13: FromRequest<B> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T14, T15, T16> SseHandler<B, (T14, T15, T16)> for F where
B: Send,
F: FnOnce(T14, T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T14: FromRequest<B> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T15, T16> SseHandler<B, (T15, T16)> for F where
B: Send,
F: FnOnce(T15, T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T15: FromRequest<B> + Send + 'static,
T16: FromRequest<B> + Send + 'static,
impl<F, Fut, S, B, T16> SseHandler<B, (T16,)> for F where
B: Send,
F: FnOnce(T16) -> Fut + Send,
Fut: TryFuture<Ok = S> + Send,
Fut::Error: IntoResponse,
S: TryStream<Ok = Event> + Send + 'static,
T16: FromRequest<B> + Send + 'static,