code: func (s *Server) SendRequest(connID string, method string, params interface{}, resHandler func(ctx *ResCtx) error) (reqID string, err error) {
  	if !s.running.Load().(bool) {
  		return "", errors.New("use of closed server")
  	}
  
  	if conn, ok := s.conns.GetOk(connID); ok {
  		reqID, err = conn.(*Conn).SendRequest(method, params, resHandler)
  		// todo: only log in debug mode?
  		log.Printf("server: send-request: connID: %v, reqID: %v, method: %v, params: %#v, err (if any): %v", connID, reqID, method, params, err)
  		return
  	}
  
  	return "", fmt.Errorf("connection with requested ID: %v does not exist", connID)
  }
docs: // SendRequest sends a JSON-RPC request through the connection denoted by the connection ID with an auto generated request ID.
  // resHandler is called when a response is returned.