use of org.springframework.web.context.request.ServletWebRequest in project ORCID-Source by ORCID.
the class OrcidOAuth2AuthenticationEntryPoint method handleAsOrcidError.
public void handleAsOrcidError(HttpServletRequest request, HttpServletResponse response, Exception authException) throws IOException, ServletException {
try {
ResponseEntity<OAuth2Exception> result = exceptionTranslator.translate(authException);
result = enhanceResponse(result, authException);
OrcidError orcidError = new OrcidError();
orcidError.setResponseCode(result.getStatusCode().value());
orcidError.setDeveloperMessage(result.getBody().getLocalizedMessage());
ResponseEntity<OrcidError> errorResponseEntity = new ResponseEntity<>(orcidError, result.getHeaders(), result.getStatusCode());
exceptionRenderer.handleHttpEntityResponse(errorResponseEntity, new ServletWebRequest(request, response));
response.flushBuffer();
} catch (ServletException e) {
// (even if there is one)
if (handlerExceptionResolver.resolveException(request, response, this, e) == null) {
throw e;
}
} catch (IOException e) {
throw e;
} catch (RuntimeException e) {
throw e;
} catch (Exception e) {
// Wrap other Exceptions. These are not expected to happen
throw new RuntimeException(e);
}
}
use of org.springframework.web.context.request.ServletWebRequest in project spring-framework by spring-projects.
the class RequestHeaderMapMethodArgumentResolverTests method setUp.
@Before
public void setUp() throws Exception {
resolver = new RequestHeaderMapMethodArgumentResolver();
Method method = getClass().getMethod("params", Map.class, MultiValueMap.class, HttpHeaders.class, Map.class);
paramMap = new SynthesizingMethodParameter(method, 0);
paramMultiValueMap = new SynthesizingMethodParameter(method, 1);
paramHttpHeaders = new SynthesizingMethodParameter(method, 2);
paramUnsupported = new SynthesizingMethodParameter(method, 3);
request = new MockHttpServletRequest();
webRequest = new ServletWebRequest(request, new MockHttpServletResponse());
}
use of org.springframework.web.context.request.ServletWebRequest in project spring-framework by spring-projects.
the class HttpEntityMethodProcessor method isResourceNotModified.
private boolean isResourceNotModified(ServletServerHttpRequest inputMessage, ServletServerHttpResponse outputMessage) {
ServletWebRequest servletWebRequest = new ServletWebRequest(inputMessage.getServletRequest(), outputMessage.getServletResponse());
HttpHeaders responseHeaders = outputMessage.getHeaders();
String etag = responseHeaders.getETag();
long lastModifiedTimestamp = responseHeaders.getLastModified();
if (inputMessage.getMethod() == HttpMethod.GET || inputMessage.getMethod() == HttpMethod.HEAD) {
responseHeaders.remove(HttpHeaders.ETAG);
responseHeaders.remove(HttpHeaders.LAST_MODIFIED);
}
return servletWebRequest.checkNotModified(etag, lastModifiedTimestamp);
}
use of org.springframework.web.context.request.ServletWebRequest in project spring-framework by spring-projects.
the class RequestMappingInfoHandlerMappingTests method testHttpOptions.
private void testHttpOptions(String requestURI, String allowHeader) throws Exception {
MockHttpServletRequest request = new MockHttpServletRequest("OPTIONS", requestURI);
HandlerMethod handlerMethod = getHandler(request);
ServletWebRequest webRequest = new ServletWebRequest(request);
ModelAndViewContainer mavContainer = new ModelAndViewContainer();
Object result = new InvocableHandlerMethod(handlerMethod).invokeForRequest(webRequest, mavContainer);
assertNotNull(result);
assertEquals(HttpHeaders.class, result.getClass());
assertEquals(allowHeader, ((HttpHeaders) result).getFirst("Allow"));
}
use of org.springframework.web.context.request.ServletWebRequest in project thymeleaf-tests by thymeleaf.
the class DecoupledSTSMTest method test.
private static void test(final String templateName, final String expectedResultLocation, final Map<String, Object> vars) throws Exception {
final Map<String, Object> requestAttributes = new LinkedHashMap<String, Object>();
final Map<String, Object[]> requestParameters = new LinkedHashMap<String, Object[]>();
final HttpServletRequest mockRequest = TestMockServletUtil.createHttpServletRequest("WebVariablesMap", null, requestAttributes, requestParameters, Locale.US);
final HttpServletResponse mockResponse = TestMockServletUtil.createHttpServletResponse();
final Map<String, Object> servletContextAttributes = new LinkedHashMap<String, Object>();
final ServletContext mockServletContext = TestMockServletUtil.createServletContext(servletContextAttributes);
final XmlWebApplicationContext appCtx = new XmlWebApplicationContext();
appCtx.setServletContext(mockServletContext);
appCtx.setConfigLocation("classpath:templateparser/decoupled/stsm/applicationContext.xml");
appCtx.refresh();
mockServletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, appCtx);
// can be null!
final ConversionService conversionService = getConversionService(appCtx);
mockRequest.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, appCtx);
final ServletWebRequest servletWebRequest = new ServletWebRequest(mockRequest, mockResponse);
RequestContextHolder.setRequestAttributes(servletWebRequest);
final RequestContext requestContext = new RequestContext(mockRequest, mockResponse, mockServletContext, vars);
vars.put(AbstractTemplateView.SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE, requestContext);
vars.put(SpringContextVariableNames.SPRING_REQUEST_CONTEXT, requestContext);
vars.put(SpringContextVariableNames.THYMELEAF_REQUEST_CONTEXT, new SpringWebMvcThymeleafRequestContext(requestContext, mockRequest));
final List<String> variableNames = new ArrayList<String>(vars.keySet());
for (final String variableName : variableNames) {
final Object bindingObject = vars.get(variableName);
if (isBindingCandidate(variableName, bindingObject)) {
final String bindingVariableName = BindingResult.MODEL_KEY_PREFIX + variableName;
if (!vars.containsKey(bindingVariableName)) {
final WebDataBinder dataBinder = new WebDataBinder(bindingObject, bindingVariableName);
dataBinder.setConversionService(conversionService);
vars.put(bindingVariableName, dataBinder.getBindingResult());
}
}
}
final WebContext ctx = new WebContext(mockRequest, mockResponse, mockServletContext, Locale.US);
for (final Map.Entry<String, Object> entry : vars.entrySet()) {
ctx.setVariable(entry.getKey(), entry.getValue());
}
final ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setTemplateMode("HTML");
templateResolver.setPrefix("templateparser/decoupled/stsm/templates/");
templateResolver.setSuffix(".html");
templateResolver.setUseDecoupledLogic(true);
final SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
templateEngine.setLinkBuilder(new StandardLinkBuilder() {
@Override
protected String computeContextPath(final IExpressionContext context, final String base, final Map<String, Object> parameters) {
return "";
}
});
appCtx.getAutowireCapableBeanFactory().initializeBean(templateEngine, "templateEngine");
final String result = templateEngine.process(templateName, ctx);
final String expected = ResourceUtils.read(ClassLoaderUtils.getClassLoader(DecoupledSTSMTest.class).getResourceAsStream(expectedResultLocation), "ISO-8859-1", true);
Assert.assertEquals(ResourceUtils.normalize(expected), ResourceUtils.normalize(result));
}
Aggregations