Merge branch '2.0.x'

This commit is contained in:
Stephane Nicoll
2018-08-23 11:34:49 +02:00
2 changed files with 23 additions and 4 deletions

View File

@@ -76,6 +76,9 @@ public abstract class AbstractErrorController implements ErrorController {
protected boolean getTraceParameter(HttpServletRequest request) {
String parameter = request.getParameter("trace");
if (parameter == null) {
return false;
}
return !"false".equalsIgnoreCase(parameter);
}

View File

@@ -26,6 +26,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -94,15 +95,30 @@ public class BasicErrorControllerIntegrationTests {
}
@Test
public void testErrorForMachineClientTraceParamTrue() {
errorForMachineClientOnTraceParam(() -> createUrl("?trace=true"), true);
}
@Test
public void testErrorForMachineClientTraceParamFalse() {
errorForMachineClientOnTraceParam(() -> createUrl("?trace=false"), false);
}
@Test
public void testErrorForMachineClientTraceParamAbsent() {
errorForMachineClientOnTraceParam(() -> createUrl(""), false);
}
@SuppressWarnings("rawtypes")
public void testErrorForMachineClientTraceParamStacktrace() {
private void errorForMachineClientOnTraceParam(Supplier<String> url,
boolean expectedTrace) {
load("--server.error.include-exception=true",
"--server.error.include-stacktrace=on-trace-param");
ResponseEntity<Map> entity = new TestRestTemplate()
.getForEntity(createUrl("?trace=true"), Map.class);
ResponseEntity<Map> entity = new TestRestTemplate().getForEntity(url.get(),
Map.class);
assertErrorAttributes(entity.getBody(), "500", "Internal Server Error",
IllegalStateException.class, "Expected!", "/");
assertThat(entity.getBody().containsKey("trace")).isTrue();
assertThat(entity.getBody().containsKey("trace")).isEqualTo(expectedTrace);
}
@Test