@Override
  public Object processCommand(final CommandRequest command) {
    URI link =
        HttpRequester.createURI(baseUrl, COMMANDS_URI, CMD_QUERY_PARAMETER, command.getUserInput());
    if (command.hasFileList()) {
      MultiValueMap<String, Object> content = new LinkedMultiValueMap<>();

      for (File file : command.getFileList()) {
        content.add(RESOURCES_REQUEST_PARAMETER, new FileSystemResource(file));
      }
      return httpRequester.post(link, content, String.class);
    }

    // when no file data to upload, this handles file download over http
    return httpRequester.executeWithResponseExtractor(link);
  }
Processes the requested command. Sends the command to the GemFire Manager for remote processing
(execution).

@param command the command requested/entered by the user to be processed.
@return the result of the command execution, either a json string of ResultModel or a Path
geode-gfsh/src/main/java/org/apache/geode/management/internal/web/shell/HttpOperationInvoker.java