|  | @@ -10,9 +10,10 @@ type Server struct {
 | 
	
		
			
				|  |  |  	Port        net.Port
 | 
	
		
			
				|  |  |  	PathHandler map[string]http.HandlerFunc
 | 
	
		
			
				|  |  |  	accepting   bool
 | 
	
		
			
				|  |  | +	server      *http.Server
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (server *Server) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
 | 
	
		
			
				|  |  | +func (s *Server) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
 | 
	
		
			
				|  |  |  	if req.URL.Path == "/" {
 | 
	
		
			
				|  |  |  		resp.Header().Set("Content-Type", "text/plain; charset=utf-8")
 | 
	
		
			
				|  |  |  		resp.WriteHeader(http.StatusOK)
 | 
	
	
		
			
				|  | @@ -20,17 +21,21 @@ func (server *Server) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
 | 
	
		
			
				|  |  |  		return
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	handler, found := server.PathHandler[req.URL.Path]
 | 
	
		
			
				|  |  | +	handler, found := s.PathHandler[req.URL.Path]
 | 
	
		
			
				|  |  |  	if found {
 | 
	
		
			
				|  |  |  		handler(resp, req)
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (server *Server) Start() (net.Destination, error) {
 | 
	
		
			
				|  |  | -	go http.ListenAndServe("127.0.0.1:"+server.Port.String(), server)
 | 
	
		
			
				|  |  | -	return net.TCPDestination(net.LocalHostIP, net.Port(server.Port)), nil
 | 
	
		
			
				|  |  | +func (s *Server) Start() (net.Destination, error) {
 | 
	
		
			
				|  |  | +	s.server = &http.Server{
 | 
	
		
			
				|  |  | +		Addr:    "127.0.0.1:" + s.Port.String(),
 | 
	
		
			
				|  |  | +		Handler: s,
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	go s.server.ListenAndServe()
 | 
	
		
			
				|  |  | +	return net.TCPDestination(net.LocalHostIP, net.Port(s.Port)), nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (v *Server) Close() {
 | 
	
		
			
				|  |  | -	v.accepting = false
 | 
	
		
			
				|  |  | +func (s *Server) Close() {
 | 
	
		
			
				|  |  | +	s.server.Close()
 | 
	
		
			
				|  |  |  }
 |