code: func (s *Server) Run() error {
  	// Skip if set to none.
  	if s.options.HTTPSocketType != HTTPSocketTypeNone {
  		// Set the base glue HTTP handler.
  		http.Handle(s.options.HTTPHandleURL, s)
  
  		// Start the http server.
  		if s.options.HTTPSocketType == HTTPSocketTypeUnix {
  			// Listen on the unix socket.
  			l, err := net.Listen("unix", s.options.HTTPListenAddress)
  			if err != nil {
  				return fmt.Errorf("Listen: %v", err)
  			}
  
  			// Start the http server.
  			err = http.Serve(l, nil)
  			if err != nil {
  				return fmt.Errorf("Serve: %v", err)
  			}
  		} else if s.options.HTTPSocketType == HTTPSocketTypeTCP {
  			// Start the http server.
  			err := http.ListenAndServe(s.options.HTTPListenAddress, nil)
  			if err != nil {
  				return fmt.Errorf("ListenAndServe: %v", err)
  			}
  		} else {
  			return fmt.Errorf("invalid socket options type: %v", s.options.HTTPSocketType)
  		}
  	} else {
  		// HINT: This is only a placeholder until the internal glue TCP server is implemented.
  		w := make(chan struct{})
  		<-w
  	}
  
  	return nil
  }
docs: // Run starts the server and listens for incoming socket connections.
  // This is a blocking method.