mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-05-31 17:22:13 +00:00
Polish multiple RequestRejectedHandlers support
Issue gh-10603
This commit is contained in:
parent
4ea57f3e3f
commit
75f25bff82
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2021 the original author or authors.
|
* Copyright 2002-2022 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -16,8 +16,10 @@
|
|||||||
|
|
||||||
package org.springframework.security.config.annotation.web.builders;
|
package org.springframework.security.config.annotation.web.builders;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
||||||
|
|
||||||
import javax.servlet.ServletException;
|
import javax.servlet.ServletException;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
@ -42,8 +44,6 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
|||||||
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
|
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -16,15 +16,16 @@
|
|||||||
|
|
||||||
package org.springframework.security.web.firewall;
|
package org.springframework.security.web.firewall;
|
||||||
|
|
||||||
import javax.servlet.ServletException;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import org.springframework.util.Assert;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.servlet.ServletException;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link RequestRejectedHandler} that delegates to several other
|
* A {@link RequestRejectedHandler} that delegates to several other
|
||||||
* {@link RequestRejectedHandler}s.
|
* {@link RequestRejectedHandler}s.
|
||||||
@ -49,7 +50,7 @@ public final class CompositeRequestRejectedHandler implements RequestRejectedHan
|
|||||||
@Override
|
@Override
|
||||||
public void handle(HttpServletRequest request, HttpServletResponse response,
|
public void handle(HttpServletRequest request, HttpServletResponse response,
|
||||||
RequestRejectedException requestRejectedException) throws IOException, ServletException {
|
RequestRejectedException requestRejectedException) throws IOException, ServletException {
|
||||||
for (RequestRejectedHandler requestRejectedhandler : requestRejectedhandlers) {
|
for (RequestRejectedHandler requestRejectedhandler : this.requestRejectedhandlers) {
|
||||||
requestRejectedhandler.handle(request, response, requestRejectedException);
|
requestRejectedhandler.handle(request, response, requestRejectedException);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2021 the original author or authors.
|
* Copyright 2002-2022 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -18,6 +18,7 @@ package org.springframework.security.web.firewall;
|
|||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||||
@ -28,9 +29,9 @@ public class CompositeRequestRejectedHandlerTests {
|
|||||||
@Test
|
@Test
|
||||||
void compositeRequestRejectedHandlerRethrowsTheException() {
|
void compositeRequestRejectedHandlerRethrowsTheException() {
|
||||||
RequestRejectedException requestRejectedException = new RequestRejectedException("rejected");
|
RequestRejectedException requestRejectedException = new RequestRejectedException("rejected");
|
||||||
DefaultRequestRejectedHandler sut = new DefaultRequestRejectedHandler();
|
CompositeRequestRejectedHandler handler = new CompositeRequestRejectedHandler(
|
||||||
CompositeRequestRejectedHandler crrh = new CompositeRequestRejectedHandler(sut);
|
new DefaultRequestRejectedHandler());
|
||||||
assertThatExceptionOfType(RequestRejectedException.class).isThrownBy(() -> crrh
|
assertThatExceptionOfType(RequestRejectedException.class).isThrownBy(() -> handler
|
||||||
.handle(mock(HttpServletRequest.class), mock(HttpServletResponse.class), requestRejectedException))
|
.handle(mock(HttpServletRequest.class), mock(HttpServletResponse.class), requestRejectedException))
|
||||||
.withMessage("rejected");
|
.withMessage("rejected");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user