Example usage for org.springframework.web.multipart.support StandardMultipartHttpServletRequest getRequestURL

List of usage examples for org.springframework.web.multipart.support StandardMultipartHttpServletRequest getRequestURL

Introduction

In this page you can find the example usage for org.springframework.web.multipart.support StandardMultipartHttpServletRequest getRequestURL.

Prototype

@Override
public StringBuffer getRequestURL() 

Source Link

Document

The default behavior of this method is to return getRequestURL() on the wrapped request object.

Usage

From source file:io.pivotal.poc.gateway.filters.pre.FileClaimCheckFilter.java

@Override
public void filter(RequestContext ctx) {
    StandardMultipartHttpServletRequest multipartRequest = this.extractMultipartRequest(ctx.getRequest());
    Map<String, String> uploadedFileMap = new HashMap<>();
    for (Map.Entry<String, MultipartFile> entry : multipartRequest.getFileMap().entrySet()) {
        String fileKey = entry.getKey();
        String claimCheck = store.save(new MultipartFileResource(entry.getValue()));
        uploadedFileMap.put(fileKey, claimCheck);
    }//from   w  ww  . j  av  a  2s  .c om
    try {
        String json = this.mapper.writeValueAsString(uploadedFileMap);
        FileClaimCheckRequestWrapper wrapper = null;
        HttpServletRequest request = ctx.getRequest();
        if (request instanceof HttpServletRequestWrapper) {
            HttpServletRequest wrapped = (HttpServletRequest) ReflectionUtils.getField(this.requestField,
                    request);
            if (wrapped instanceof HttpServletRequestWrapper) {
                wrapped = ((HttpServletRequestWrapper) wrapped).getRequest();
            }
            wrapper = new FileClaimCheckRequestWrapper(json, wrapped);
            ReflectionUtils.setField(this.requestField, request, wrapper);
            ReflectionUtils.setField(this.contentDataField, request, json.getBytes());
            if (request instanceof ServletRequestWrapper) {
                ReflectionUtils.setField(this.servletRequestField, request, wrapper);
            }
        } else {
            wrapper = new FileClaimCheckRequestWrapper(json, request);
            ctx.setRequest(wrapper);
        }
        if (wrapper != null) {
            ctx.getZuulRequestHeaders().put("content-type", wrapper.getContentType());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    log.info(String.format("%s request to %s", multipartRequest.getMethod(),
            multipartRequest.getRequestURL().toString()));
}