| 
									
										
										
										
											2019-06-03 18:44:43 +01:00
										 |  |  | // Package router provides api service routing | 
					
						
							|  |  |  | package router | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"net/http" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-30 14:39:00 +03:00
										 |  |  | 	"github.com/micro/go-micro/v2/api" | 
					
						
							| 
									
										
										
										
											2019-06-03 18:44:43 +01:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Router is used to determine an endpoint for a request | 
					
						
							|  |  |  | type Router interface { | 
					
						
							|  |  |  | 	// Returns options | 
					
						
							|  |  |  | 	Options() Options | 
					
						
							|  |  |  | 	// Stop the router | 
					
						
							|  |  |  | 	Close() error | 
					
						
							|  |  |  | 	// Endpoint returns an api.Service endpoint or an error if it does not exist | 
					
						
							|  |  |  | 	Endpoint(r *http.Request) (*api.Service, error) | 
					
						
							|  |  |  | 	// Route returns an api.Service route | 
					
						
							|  |  |  | 	Route(r *http.Request) (*api.Service, error) | 
					
						
							|  |  |  | } |