public String authenticate()

in src/main/java/com/googlesource/gerrit/plugins/lfs/auth/LfsSshAuth.java [47:78]


  public String authenticate(CurrentUser user, List<String> args) throws Failure {
    if (args.size() != 2) {
      throw new UnloggedFailure(1, "Unexpected number of arguments");
    }
    try {
      URL url = new URL(canonicalWebUrl);
      String path = url.getPath();
      String project = args.get(0);
      if (project.startsWith("/")) {
        project = project.substring(1);
      }
      String operation = args.get(1);
      StringBuilder href =
          new StringBuilder(url.getProtocol())
              .append("://")
              .append(url.getAuthority())
              .append(path)
              .append(path.endsWith("/") ? "" : "/")
              .append(project)
              .append("/info/lfs");
      LfsSshRequestAuthorizer.SshAuthInfo info = auth.generateAuthInfo(user, project, operation);
      ExpiringAction action = new ExpiringAction(href.toString(), info);
      return gson.toJson(action);
    } catch (MalformedURLException e) {
      throw new Failure(
          1,
          "Server configuration error: "
              + "forming Git LFS endpoint URL from canonicalWebUrl ["
              + canonicalWebUrl
              + "] failed.");
    }
  }