public void doFilterInternal()

in src/main/java/com/epam/digital/data/platform/restapi/core/filter/DigitalSignatureValidationFilter.java [66:92]


  public void doFilterInternal(HttpServletRequest request, HttpServletResponse servletResponse,
      FilterChain filterChain) throws IOException, ServletException {

    String method = request.getMethod().toUpperCase();

    SecurityContext securityContext = new SecurityContext();

    if (applicableHttpMethods.contains(method)) {
      fillContextSignatures(securityContext, request);

      if (isEnabled) {
        String data;
        if (method.equals("DELETE")) {
          data = getDataForDelete(request);
        } else {
          request = new MultiReadHttpServletRequest(request);
          data = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
        }

        digitalSignatureService.checkSignature(data, securityContext);
        saveSignatures(securityContext);
      }
    }

    request.setAttribute(SecurityContext.class.getSimpleName(), securityContext);
    filterChain.doFilter(request, servletResponse);
  }