You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2020/09/30 00:39:49 UTC

[pulsar] branch master updated: Skip intercepting multipart requests (#1412) (#8156)

This is an automated email from the ASF dual-hosted git repository.

penghui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 7c68ade  Skip intercepting multipart requests (#1412) (#8156)
7c68ade is described below

commit 7c68ade453136895d19fa4723351d26256f3d624
Author: Yong Zhang <zh...@gmail.com>
AuthorDate: Wed Sep 30 08:39:26 2020 +0800

    Skip intercepting multipart requests (#1412) (#8156)
    
    Co-authored-by: Sijie Guo <si...@apache.org>
---
 .../org/apache/pulsar/broker/web/PreInterceptFilter.java    | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PreInterceptFilter.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PreInterceptFilter.java
index 6565309..57f5c20 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PreInterceptFilter.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PreInterceptFilter.java
@@ -18,6 +18,8 @@
  */
 package org.apache.pulsar.broker.web;
 
+import javax.ws.rs.core.MediaType;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.pulsar.broker.intercept.BrokerInterceptor;
 import org.apache.pulsar.common.intercept.InterceptException;
 
@@ -31,6 +33,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
+@Slf4j
 public class PreInterceptFilter implements Filter {
 
     private final BrokerInterceptor interceptor;
@@ -46,6 +49,16 @@ public class PreInterceptFilter implements Filter {
 
     @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+        if (log.isDebugEnabled()) {
+            log.debug("PreInterceptFilter: path {}, type {}",
+                servletRequest.getServletContext().getContextPath(),
+                servletRequest.getContentType());
+        }
+        if (MediaType.MULTIPART_FORM_DATA.equalsIgnoreCase(servletRequest.getContentType())) {
+            // skip multipart request at this moment
+            filterChain.doFilter(servletRequest, servletResponse);
+            return;
+        }
         try {
             RequestWrapper requestWrapper = new RequestWrapper((HttpServletRequest) servletRequest);
             interceptor.onWebserviceRequest(requestWrapper);