[RELEASE] Version 0.0.7 #9
					 3 changed files with 17 additions and 1 deletions
				
			
		
				commit
				
					
					
						132917c616
					
				
			
		
							
								
								
									
										7
									
								
								src/controller.rs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/controller.rs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | use std::collections::HashMap; | ||||||
|  | 
 | ||||||
|  | use tiny_http::Request; | ||||||
|  | 
 | ||||||
|  | pub trait Controller { | ||||||
|  |     fn register_routes(&self) -> HashMap<String, fn(Request)>; | ||||||
|  | } | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| pub mod router; | pub mod router; | ||||||
|  | pub mod controller; | ||||||
| pub mod entities; | pub mod entities; | ||||||
| pub mod utilities; | pub mod utilities; | ||||||
| pub mod template; | pub mod template; | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ use std::collections::HashMap; | ||||||
| 
 | 
 | ||||||
| use tiny_http::Request; | use tiny_http::Request; | ||||||
| 
 | 
 | ||||||
| use crate::{entities::request::Url, utilities::responses::respond_not_found}; | use crate::{controller::Controller, entities::request::Url, utilities::responses::respond_not_found}; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| pub struct Router { | pub struct Router { | ||||||
|  | @ -23,6 +23,14 @@ impl Router { | ||||||
|         } 
 |         } 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     pub fn add_controller(&mut self, controller: impl Controller) { | ||||||
|  |         let new_routes = controller.register_routes(); | ||||||
|  |         let mut final_routes = self.routes.clone(); | ||||||
|  |         final_routes.extend(new_routes); | ||||||
|  | 
 | ||||||
|  |         self.routes = final_routes; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     pub fn add_route(&mut self, route: &str, route_function: fn(Request)) { |     pub fn add_route(&mut self, route: &str, route_function: fn(Request)) { | ||||||
|         self.routes.insert(route.to_string(), route_function); |         self.routes.insert(route.to_string(), route_function); | ||||||
|     } |     } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue