• 🐲礁sir
    2022-09-09 来自四川
    我在这里跟着看源码的时候发现一个奇怪的点想请教一下老师: impl<S: Scheme> Header for Authorization<S> { #[inline] fn name() -> HeaderName { AUTHORIZATION } fn parse<T: HttpMessage>(msg: &T) -> Result<Self, ParseError> { let header = msg.headers().get(Self::name()).ok_or(ParseError::Header)?; let scheme = S::parse(header).map_err(|_| ParseError::Header)?; Ok(Authorization(scheme)) } } 这段代码里面的S::parse是调用Scheme trait里面的parse方法。但是这个trait里面的方法也没有去具体实现: pub trait Scheme: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync { /// Try to parse an authentication scheme from the `Authorization` header. fn parse(header: &HeaderValue) -> Result<Self, ParseError>; } 想问下这样的话具体是调用什么呢?
    展开
    
    