private Optional validateGetRequest()

in src/main/java/com/googlesource/gerrit/plugins/lfs/fs/LfsFsContentServlet.java [108:132]


  private Optional<AnyLongObjectId> validateGetRequest(
      HttpServletRequest req, HttpServletResponse rsp) throws IOException {
    AnyLongObjectId obj = getObjectToTransfer(req, rsp);
    if (obj == null) {
      return Optional.empty();
    }

    if (repository.getSize(obj) == -1) {
      sendError(
          rsp,
          HttpStatus.SC_NOT_FOUND,
          MessageFormat.format(LfsServerText.get().objectNotFound, obj.getName()));
      return Optional.empty();
    }

    if (!authorizer.verifyAuthInfo(req.getHeader(HDR_AUTHORIZATION), DOWNLOAD, obj)) {
      sendError(
          rsp,
          HttpStatus.SC_UNAUTHORIZED,
          MessageFormat.format(
              LfsServerText.get().failedToCalcSignature, "Invalid authorization token"));
      return Optional.empty();
    }
    return Optional.of(obj);
  }