tower_web/routing/
builder.rs1use super::{Route, RouteSet};
2
3use std::mem;
4
5#[derive(Debug)]
7pub struct Builder<T> {
8 routes: RouteSet<T>,
9}
10
11impl<T> Builder<T> {
12 pub fn new() -> Self {
14 Builder {
15 routes: RouteSet::new(),
16 }
17 }
18
19 pub fn insert(&mut self, route: Route<T>) -> &mut Self {
21 self.routes.insert(route);
22 self
23 }
24
25 pub(crate) fn insert_all(&mut self, set: RouteSet<T>) -> &mut Self {
26 self.routes.insert_all(set);
27 self
28 }
29
30 pub fn build(&mut self) -> RouteSet<T> {
32 mem::replace(&mut self.routes, RouteSet::new())
33 }
34}