Browse Source

Add BlockException parameter to UrlBlockHandler.blocked() method

master
Carpenter Lee 6 years ago
parent
commit
d726e62de2
4 changed files with 9 additions and 4 deletions
  1. +1
    -1
      sentinel-adapter/sentinel-web-servlet/src/main/java/com/alibaba/csp/sentinel/adapter/servlet/CommonFilter.java
  2. +1
    -1
      sentinel-adapter/sentinel-web-servlet/src/main/java/com/alibaba/csp/sentinel/adapter/servlet/CommonTotalFilter.java
  3. +3
    -1
      sentinel-adapter/sentinel-web-servlet/src/main/java/com/alibaba/csp/sentinel/adapter/servlet/callback/DefaultUrlBlockHandler.java
  4. +4
    -1
      sentinel-adapter/sentinel-web-servlet/src/main/java/com/alibaba/csp/sentinel/adapter/servlet/callback/UrlBlockHandler.java

+ 1
- 1
sentinel-adapter/sentinel-web-servlet/src/main/java/com/alibaba/csp/sentinel/adapter/servlet/CommonFilter.java View File

@@ -77,7 +77,7 @@ public class CommonFilter implements Filter {
} catch (BlockException e) {
HttpServletResponse sResponse = (HttpServletResponse)response;
// Return the block page, or redirect to another URL.
WebCallbackManager.getUrlBlockHandler().blocked(sRequest, sResponse);
WebCallbackManager.getUrlBlockHandler().blocked(sRequest, sResponse, e);
} catch (IOException e2) {
Tracer.trace(e2);
throw e2;


+ 1
- 1
sentinel-adapter/sentinel-web-servlet/src/main/java/com/alibaba/csp/sentinel/adapter/servlet/CommonTotalFilter.java View File

@@ -62,7 +62,7 @@ public class CommonTotalFilter implements Filter {
chain.doFilter(request, response);
} catch (BlockException e) {
HttpServletResponse sResponse = (HttpServletResponse)response;
WebCallbackManager.getUrlBlockHandler().blocked(sRequest, sResponse);
WebCallbackManager.getUrlBlockHandler().blocked(sRequest, sResponse, e);
} catch (IOException e2) {
Tracer.trace(e2);
throw e2;


+ 3
- 1
sentinel-adapter/sentinel-web-servlet/src/main/java/com/alibaba/csp/sentinel/adapter/servlet/callback/DefaultUrlBlockHandler.java View File

@@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.csp.sentinel.adapter.servlet.util.FilterUtil;
import com.alibaba.csp.sentinel.slots.block.BlockException;

/***
* The default {@link UrlBlockHandler}.
@@ -30,7 +31,8 @@ import com.alibaba.csp.sentinel.adapter.servlet.util.FilterUtil;
public class DefaultUrlBlockHandler implements UrlBlockHandler {

@Override
public void blocked(HttpServletRequest request, HttpServletResponse response) throws IOException {
public void blocked(HttpServletRequest request, HttpServletResponse response, BlockException ex)
throws IOException {
// Directly redirect to the default flow control (blocked) page or customized block page.
FilterUtil.blockRequest(request, response);
}


+ 4
- 1
sentinel-adapter/sentinel-web-servlet/src/main/java/com/alibaba/csp/sentinel/adapter/servlet/callback/UrlBlockHandler.java View File

@@ -20,6 +20,8 @@ import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.csp.sentinel.slots.block.BlockException;

/***
* The URL block handler handles requests when blocked.
*
@@ -32,7 +34,8 @@ public interface UrlBlockHandler {
*
* @param request Servlet request
* @param response Servlet response
* @param ex the block exception.
* @throws IOException some error occurs
*/
void blocked(HttpServletRequest request, HttpServletResponse response) throws IOException;
void blocked(HttpServletRequest request, HttpServletResponse response, BlockException ex) throws IOException;
}

Loading…
Cancel
Save