Github user benchristel commented on a diff in the pull request: https://github.com/apache/incubator-hawq/pull/1379#discussion_r201875409 --- Diff: pxf/pxf-service/src/main/java/org/apache/hawq/pxf/service/servlet/SecurityServletFilter.java --- @@ -64,21 +75,28 @@ public void init(FilterConfig filterConfig) throws ServletException { * @param chain filter chain */ @Override - public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException { + public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) + throws IOException, ServletException { if (SecureLogin.isUserImpersonationEnabled()) { // retrieve user header and make sure header is present and is not empty - final String user = ((HttpServletRequest) request).getHeader(USER_HEADER); - if (user == null) { - throw new IllegalArgumentException(MISSING_HEADER_ERROR); - } else if (user.trim().isEmpty()) { - throw new IllegalArgumentException(EMPTY_HEADER_ERROR); + final String user = getHeaderValue(request, USER_HEADER); + String transactionId = getHeaderValue(request, TRANSACTION_ID_HEADER); --- End diff -- @lavjain pointed out that the default value for `required` is `true`. Maybe it's better to be explicit, though.
---