mirror of
https://github.com/tokio-rs/axum.git
synced 2024-12-29 07:48:39 +01:00
Clean up some todos (#441)
This commit is contained in:
parent
3d07d40e02
commit
1b98328dc8
2 changed files with 33 additions and 23 deletions
|
@ -87,7 +87,7 @@ use std::{
|
||||||
};
|
};
|
||||||
use tokio_tungstenite::{
|
use tokio_tungstenite::{
|
||||||
tungstenite::{
|
tungstenite::{
|
||||||
self,
|
self as ts,
|
||||||
protocol::{self, WebSocketConfig},
|
protocol::{self, WebSocketConfig},
|
||||||
},
|
},
|
||||||
WebSocketStream,
|
WebSocketStream,
|
||||||
|
@ -468,35 +468,31 @@ pub enum Message {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Message {
|
impl Message {
|
||||||
fn into_tungstenite(self) -> tungstenite::Message {
|
fn into_tungstenite(self) -> ts::Message {
|
||||||
// TODO: maybe some shorter way to do that?
|
|
||||||
match self {
|
match self {
|
||||||
Self::Text(text) => tungstenite::Message::Text(text),
|
Self::Text(text) => ts::Message::Text(text),
|
||||||
Self::Binary(binary) => tungstenite::Message::Binary(binary),
|
Self::Binary(binary) => ts::Message::Binary(binary),
|
||||||
Self::Ping(ping) => tungstenite::Message::Ping(ping),
|
Self::Ping(ping) => ts::Message::Ping(ping),
|
||||||
Self::Pong(pong) => tungstenite::Message::Pong(pong),
|
Self::Pong(pong) => ts::Message::Pong(pong),
|
||||||
Self::Close(Some(close)) => {
|
Self::Close(Some(close)) => ts::Message::Close(Some(ts::protocol::CloseFrame {
|
||||||
tungstenite::Message::Close(Some(tungstenite::protocol::CloseFrame {
|
code: ts::protocol::frame::coding::CloseCode::from(close.code),
|
||||||
code: tungstenite::protocol::frame::coding::CloseCode::from(close.code),
|
|
||||||
reason: close.reason,
|
reason: close.reason,
|
||||||
}))
|
})),
|
||||||
}
|
Self::Close(None) => ts::Message::Close(None),
|
||||||
Self::Close(None) => tungstenite::Message::Close(None),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn from_tungstenite(message: tungstenite::Message) -> Self {
|
fn from_tungstenite(message: ts::Message) -> Self {
|
||||||
// TODO: maybe some shorter way to do that?
|
|
||||||
match message {
|
match message {
|
||||||
tungstenite::Message::Text(text) => Self::Text(text),
|
ts::Message::Text(text) => Self::Text(text),
|
||||||
tungstenite::Message::Binary(binary) => Self::Binary(binary),
|
ts::Message::Binary(binary) => Self::Binary(binary),
|
||||||
tungstenite::Message::Ping(ping) => Self::Ping(ping),
|
ts::Message::Ping(ping) => Self::Ping(ping),
|
||||||
tungstenite::Message::Pong(pong) => Self::Pong(pong),
|
ts::Message::Pong(pong) => Self::Pong(pong),
|
||||||
tungstenite::Message::Close(Some(close)) => Self::Close(Some(CloseFrame {
|
ts::Message::Close(Some(close)) => Self::Close(Some(CloseFrame {
|
||||||
code: close.code.into(),
|
code: close.code.into(),
|
||||||
reason: close.reason,
|
reason: close.reason,
|
||||||
})),
|
})),
|
||||||
tungstenite::Message::Close(None) => Self::Close(None),
|
ts::Message::Close(None) => Self::Close(None),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,7 @@ use http_body::Empty;
|
||||||
use pin_project_lite::pin_project;
|
use pin_project_lite::pin_project;
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
use std::{
|
use std::{
|
||||||
|
fmt,
|
||||||
future::Future,
|
future::Future,
|
||||||
pin::Pin,
|
pin::Pin,
|
||||||
task::{Context, Poll},
|
task::{Context, Poll},
|
||||||
|
@ -274,7 +275,6 @@ where
|
||||||
|
|
||||||
/// A [`Service`] that accepts requests based on a [`MethodFilter`] and allows
|
/// A [`Service`] that accepts requests based on a [`MethodFilter`] and allows
|
||||||
/// chaining additional services.
|
/// chaining additional services.
|
||||||
#[derive(Debug)] // TODO(david): don't require debug for B
|
|
||||||
pub struct MethodRouter<S, F, B> {
|
pub struct MethodRouter<S, F, B> {
|
||||||
pub(crate) method: MethodFilter,
|
pub(crate) method: MethodFilter,
|
||||||
pub(crate) svc: S,
|
pub(crate) svc: S,
|
||||||
|
@ -282,6 +282,20 @@ pub struct MethodRouter<S, F, B> {
|
||||||
pub(crate) _request_body: PhantomData<fn() -> B>,
|
pub(crate) _request_body: PhantomData<fn() -> B>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<S, F, B> fmt::Debug for MethodRouter<S, F, B>
|
||||||
|
where
|
||||||
|
S: fmt::Debug,
|
||||||
|
F: fmt::Debug,
|
||||||
|
{
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
f.debug_struct("MethodRouter")
|
||||||
|
.field("method", &self.method)
|
||||||
|
.field("svc", &self.svc)
|
||||||
|
.field("fallback", &self.fallback)
|
||||||
|
.finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<S, F, B> Clone for MethodRouter<S, F, B>
|
impl<S, F, B> Clone for MethodRouter<S, F, B>
|
||||||
where
|
where
|
||||||
S: Clone,
|
S: Clone,
|
||||||
|
|
Loading…
Reference in a new issue