code: func (n *Node) startHTTP(endpoint string, apis []rpc.API, modules []string, cors []string, vhosts []string, timeouts rpc.HTTPTimeouts) error {
  	// Short circuit if the HTTP endpoint isn't being exposed
  	if endpoint == "" {
  		return nil
  	}
  	listener, handler, err := rpc.StartHTTPEndpoint(endpoint, apis, modules, cors, vhosts, timeouts)
  	if err != nil {
  		return err
  	}
  	n.log.Info("HTTP endpoint opened", "url", fmt.Sprintf("http://%s", endpoint), "cors", strings.Join(cors, ","), "vhosts", strings.Join(vhosts, ","))
  	// All listeners booted successfully
  	n.httpEndpoint = endpoint
  	n.httpListener = listener
  	n.httpHandler = handler
  
  	return nil
  }
docs: // startHTTP initializes and starts the HTTP RPC endpoint.