use std::fmt;
use Method;
use Handler;
use context::MaybeUtf8Slice;
pub struct Link<'a> {
pub method: Option<Method>,
pub path: Vec<LinkSegment<'a>>,
pub handler: Option<&'a Handler>,
}
impl<'a> fmt::Debug for Link<'a> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "method: {:?}, path: {:?}, handler present: {}", self.method, self.path, self.handler.is_some())
}
}
#[derive(PartialEq, Eq, Debug)]
pub struct LinkSegment<'a> {
pub label: MaybeUtf8Slice<'a>,
pub ty: SegmentType
}
#[derive(PartialEq, Eq, Debug)]
pub enum SegmentType {
Static,
VariableSegment,
VariableSequence,
}