Java 类org.springframework.http.server.ServerHttpRequest 实例源码

项目:GitHub    文件:JSONPResponseBodyAdvice.java   
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
                              Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request,
                              ServerHttpResponse response) {

    ResponseJSONP responseJsonp = returnType.getMethodAnnotation(ResponseJSONP.class);
    if(responseJsonp == null){
        responseJsonp = returnType.getContainingClass().getAnnotation(ResponseJSONP.class);
    }

    HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();
    String callbackMethodName = servletRequest.getParameter(responseJsonp.callback());

    if (!IOUtils.isValidJsonpQueryParam(callbackMethodName)) {
        if (logger.isDebugEnabled()) {
            logger.debug("Invalid jsonp parameter value:" + callbackMethodName);
        }
        callbackMethodName = null;
    }

    JSONPObject jsonpObject = new JSONPObject(callbackMethodName);
    jsonpObject.addParameter(body);
    beforeBodyWriteInternal(jsonpObject, selectedContentType, returnType, request, response);
    return jsonpObject;
}
项目:GitHub    文件:FastJsonpResponseBodyAdvice.java   
/**
 * Invoked only if the converter type is {@code FastJsonpHttpMessageConverter4}.
 */
public void beforeBodyWriteInternal(MappingFastJsonValue bodyContainer, MediaType contentType,
                                    MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) {
    HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();
    for (String name : this.jsonpQueryParamNames) {
        String value = servletRequest.getParameter(name);
        if (value != null) {
            if (!isValidJsonpQueryParam(value)) {
                continue;
            }
            // MediaType contentTypeToUse = getContentType(contentType, request, response);
            // response.getHeaders().setContentType(contentTypeToUse);
            bodyContainer.setJsonpFunction(value);
            break;
        }
    }
}
项目:Instant-Messaging    文件:HandshakeInterceptor.java   
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
    System.out.println("before handshake");
    ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) request;
    HttpSession session = servletRequest.getServletRequest().getSession(false);
    Long uid = (Long)session.getAttribute("uid");
    if(uid == null){
        return false;
    }

    //如果uid==null,afterConnectionEstablished不执行,协议转换不成功,报下面的错误
    //websocket.html?uid=1990:56 WebSocket connection to 'ws://localhost:8080/ws?uid=1990' failed: Error during WebSocket handshake: Unexpected response code: 500
    attributes.put("uid", uid);
    return true;

    // 如果这里返回false,浏览器会报下面这个错误
    // WebSocket connection to 'ws://localhost:8080/ws' failed: Error during WebSocket handshake: Unexpected response code: 200
}
项目:filter    文件:DefFilterDataResponseHandler.java   
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
    Class converterType = returnType.getMethod().getDeclaringClass();
    FilterResponse defaultResponse = returnType.getMethod().getAnnotation(FilterResponse.class);
    if(defaultResponse==null) {
        defaultResponse = (FilterResponse) converterType.getAnnotation(FilterResponse.class);
    }
    String className =converterType.getName();
    logger.debug("beforeBodyWrite - className >" +className +", defaultResponse - > "+defaultResponse);
    if(defaultResponse!=null){
        switch (defaultResponse.type()){
            case defaultFilter:{
                response.getHeaders().add(Constants.defaultResponseHeader,Constants.defaultResponseHeader);
            }
        }
    }
    return body;
}
项目:Sound.je    文件:JsonViewConfiguration.java   
@Override
protected void beforeBodyWriteInternal(final MappingJacksonValue bodyContainer,
                                       final MediaType contentType,
                                       final MethodParameter returnType,
                                       final ServerHttpRequest request,
                                       final ServerHttpResponse response) {
    final Mutable<Class<?>> viewClass = Mutable.of(View.Anonymous.class);

    if (SecurityContextHolder.getContext().getAuthentication() != null && SecurityContextHolder.getContext().getAuthentication().getAuthorities() != null) {
        final Collection<? extends GrantedAuthority> authorities = SecurityContextHolder.getContext().getAuthentication().getAuthorities();

        viewClass.mutateIf(View.User.class, authorities.stream().anyMatch(o -> o.getAuthority().equals("PRIV_USER")));
        viewClass.mutateIf(View.Moderator.class, authorities.stream().anyMatch(o -> o.getAuthority().equals("PRIV_MODERATOR")));
        viewClass.mutateIf(View.Admin.class, authorities.stream().anyMatch(o -> o.getAuthority().equals("PRIV_ADMIN")));
    }

    bodyContainer.setSerializationView(viewClass.get());
}
项目:role-api    文件:BaseLoggingFilter.java   
/**
 * Build log message for request in bound.
 *
 * @param request Request in bound.
 * @return Log message.
 * @since 1.0.0
 */
protected String buildRequestLog(HttpServletRequest request) {
    ServerHttpRequest httpRequest = new ServletServerHttpRequest(request);

    StringBuilder sb = new StringBuilder("Server has received a request").append(StringUtils.LF)
            .append(" > ").append(httpRequest.getMethod()).append(" ").append(httpRequest.getURI()).append
                    (StringUtils.LF);

    Map<String, String> headers = httpRequest.getHeaders().toSingleValueMap();
    for (Map.Entry<String, String> entry : headers.entrySet()) {
        sb.append(" > ").append(entry.getKey()).append(": ").append(entry.getValue()).append(StringUtils.LF);
    }

    sb.append(extractRequestPayload(request));

    return sb.toString();
}
项目:k-framework    文件:DefaultResponseBodyHandler.java   
@Override
public BizRes beforeBodyWrite(BizRes body, MethodParameter returnType, MediaType selectedContentType,
                              Class<? extends HttpMessageConverter<?>> selectedConverterType,
                              ServerHttpRequest request, ServerHttpResponse response) {
    String deviceToken = response.getHeaders().getFirst(requestHeaderProperties.getDeviceToken());
    if (body instanceof ErrorRes) {
        ((ErrorRes) body).setVd(deviceToken);
        return body;
    }
    if (body instanceof SuccessRes) {
        ((SuccessRes) body).setVd(deviceToken);
        return body;
    }
    SuccessRes res = new SuccessRes(body);
    res.setVd(deviceToken);
    return res;
}
项目:spring4-understanding    文件:RequestPartServletServerHttpRequestTests.java   
@Test
public void getBodyViaRequestParameterWithRequestEncoding() throws Exception {
    MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest() {

        @Override
        public HttpHeaders getMultipartHeaders(String paramOrFileName) {
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
            return headers;
        }
    };
    byte[] bytes = {(byte) 0xC4};
    mockRequest.setParameter("part", new String(bytes, Charset.forName("iso-8859-1")));
    mockRequest.setCharacterEncoding("iso-8859-1");
    ServerHttpRequest request = new RequestPartServletServerHttpRequest(mockRequest, "part");

    byte[] result = FileCopyUtils.copyToByteArray(request.getBody());
    assertArrayEquals(bytes, result);
}
项目:spring4-understanding    文件:AbstractJsonpResponseBodyAdvice.java   
@Override
protected void beforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType,
        MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) {

    HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();

    for (String name : this.jsonpQueryParamNames) {
        String value = servletRequest.getParameter(name);
        if (value != null) {
            if (!isValidJsonpQueryParam(value)) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Ignoring invalid jsonp parameter value: " + value);
                }
                continue;
            }
            MediaType contentTypeToUse = getContentType(contentType, request, response);
            response.getHeaders().setContentType(contentTypeToUse);
            bodyContainer.setJsonpFunction(value);
            break;
        }
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:HttpTunnelServerTests.java   
private void testHttpConnectionNonAsync(long sleepBeforeResponse)
        throws IOException, InterruptedException {
    ServerHttpRequest request = mock(ServerHttpRequest.class);
    given(request.getAsyncRequestControl(this.response))
            .willThrow(new IllegalArgumentException());
    final HttpConnection connection = new HttpConnection(request, this.response);
    final AtomicBoolean responded = new AtomicBoolean();
    Thread connectionThread = new Thread() {

        @Override
        public void run() {
            connection.waitForResponse();
            responded.set(true);
        }

    };
    connectionThread.start();
    assertThat(responded.get()).isFalse();
    Thread.sleep(sleepBeforeResponse);
    connection.respond(HttpStatus.NO_CONTENT);
    connectionThread.join();
    assertThat(responded.get()).isTrue();
}
项目:spring-boot-jpa    文件:PageResponseBodyAdvisor.java   
@Override
protected void beforeBodyWriteInternal(MappingJacksonValue bodyContainer,
        MediaType contentType, MethodParameter returnType,
        ServerHttpRequest request, ServerHttpResponse response) {

    Page<?> page = ((Page<?>) bodyContainer.getValue());

    response.getHeaders().add(CUSTOM_HEADER_META_PAGINATION,
            String.format(PAGE_METADATA_FMT, page.getNumber(), page.getSize(),
                    page.getTotalElements(), page.getTotalPages(), page.isFirst(),
                    page.isLast()));

    getHttpHeaderLinksString(request, page)
            .filter(StringUtils::isNotEmpty)
            .ifPresent(s -> response.getHeaders().add(HttpHeaders.LINK, s));

    // finally, strip out the actual content and replace it as the body value
    bodyContainer.setValue(page.getContent());
}
项目:spring4-understanding    文件:RequestPartServletServerHttpRequestTests.java   
@Test
public void getBodyViaRequestParameter() throws Exception {
    MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest() {

        @Override
        public HttpHeaders getMultipartHeaders(String paramOrFileName) {
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(new MediaType("application", "octet-stream", Charset.forName("iso-8859-1")));
            return headers;
        }
    };
    byte[] bytes = {(byte) 0xC4};
    mockRequest.setParameter("part", new String(bytes, Charset.forName("iso-8859-1")));
    ServerHttpRequest request = new RequestPartServletServerHttpRequest(mockRequest, "part");

    byte[] result = FileCopyUtils.copyToByteArray(request.getBody());
    assertArrayEquals(bytes, result);
}
项目:metasfresh-webui-api    文件:WebSocketConfig.java   
@Override
public boolean beforeHandshake(final ServerHttpRequest request, final ServerHttpResponse response, final WebSocketHandler wsHandler, final Map<String, Object> attributes) throws Exception
{
    // UserSession.getCurrent().assertLoggedIn();
    // return true;

    final UserSession userSession = UserSession.getCurrentOrNull();
    if (userSession == null)
    {
        logger.warn("Websocket connection not allowed (missing userSession)");
        response.setStatusCode(HttpStatus.UNAUTHORIZED);
        return false;
    }

    if (!userSession.isLoggedIn())
    {
        logger.warn("Websocket connection not allowed (not logged in) - userSession={}", userSession);
        response.setStatusCode(HttpStatus.UNAUTHORIZED);
        return false;
    }

    return true;
}
项目:spring4-understanding    文件:AbstractSockJsService.java   
protected boolean checkOrigin(ServerHttpRequest request, ServerHttpResponse response, HttpMethod... httpMethods)
        throws IOException {

    if (WebUtils.isSameOrigin(request)) {
        return true;
    }

    if (!WebUtils.isValidOrigin(request, this.allowedOrigins)) {
        if (logger.isWarnEnabled()) {
            logger.warn("Origin header value '" + request.getHeaders().getOrigin() + "' not allowed.");
        }
        response.setStatusCode(HttpStatus.FORBIDDEN);
        return false;
    }

    return true;
}
项目:spring-boot-concourse    文件:DispatcherFilterTests.java   
@Test
public void handledByDispatcher() throws Exception {
    HttpServletRequest request = new MockHttpServletRequest("GET", "/hello");
    HttpServletResponse response = new MockHttpServletResponse();
    willReturn(true).given(this.dispatcher).handle(any(ServerHttpRequest.class),
            any(ServerHttpResponse.class));
    this.filter.doFilter(request, response, this.chain);
    verifyZeroInteractions(this.chain);
    verify(this.dispatcher).handle(this.serverRequestCaptor.capture(),
            this.serverResponseCaptor.capture());
    ServerHttpRequest dispatcherRequest = this.serverRequestCaptor.getValue();
    ServletServerHttpRequest actualRequest = (ServletServerHttpRequest) dispatcherRequest;
    ServerHttpResponse dispatcherResponse = this.serverResponseCaptor.getValue();
    ServletServerHttpResponse actualResponse = (ServletServerHttpResponse) dispatcherResponse;
    assertThat(actualRequest.getServletRequest()).isEqualTo(request);
    assertThat(actualResponse.getServletResponse()).isEqualTo(response);
}
项目:spring4-understanding    文件:AbstractHttpSockJsSession.java   
/**
 * Handle all requests, except the first one, to receive messages on a SockJS
 * HTTP transport based session.
 * <p>Long polling-based transports (e.g. "xhr", "jsonp") complete the request
 * after writing any buffered message frames (or the next one). Streaming-based
 * transports ("xhr_streaming", "eventsource", and "htmlfile") leave the
 * response open longer for further streaming of message frames but will also
 * close it eventually after some amount of data has been sent.
 * @param request the current request
 * @param response the current response
 * @param frameFormat the transport-specific SocksJS frame format to use
 */
public void handleSuccessiveRequest(ServerHttpRequest request, ServerHttpResponse response,
        SockJsFrameFormat frameFormat) throws SockJsException {

    synchronized (this.responseLock) {
        try {
            if (isClosed()) {
                response.getBody().write(SockJsFrame.closeFrameGoAway().getContentBytes());
                return;
            }
            this.response = response;
            this.frameFormat = frameFormat;
            this.asyncRequestControl = request.getAsyncRequestControl(response);
            this.asyncRequestControl.start(-1);

            disableShallowEtagHeaderFilter(request);

            handleRequestInternal(request, response, false);
            this.readyToSend = isActive();
        }
        catch (Throwable ex) {
            tryCloseWithSockJsTransportError(ex, CloseStatus.SERVER_ERROR);
            throw new SockJsTransportFailureException("Failed to handle SockJS receive request", getId(), ex);
        }
    }
}
项目:spring4-understanding    文件:HtmlFileTransportHandler.java   
@Override
public void handleRequestInternal(ServerHttpRequest request, ServerHttpResponse response,
        AbstractHttpSockJsSession sockJsSession) throws SockJsException {

    String callback = getCallbackParam(request);
    if (!StringUtils.hasText(callback)) {
        response.setStatusCode(HttpStatus.INTERNAL_SERVER_ERROR);
        try {
            response.getBody().write("\"callback\" parameter required".getBytes(UTF8_CHARSET));
        }
        catch (IOException ex) {
            sockJsSession.tryCloseWithSockJsTransportError(ex, CloseStatus.SERVER_ERROR);
            throw new SockJsTransportFailureException("Failed to write to response", sockJsSession.getId(), ex);
        }
        return;
    }

    super.handleRequestInternal(request, response, sockJsSession);
}
项目:spring-boot-concourse    文件:HttpTunnelServerTests.java   
private void testHttpConnectionNonAsync(long sleepBeforeResponse)
        throws IOException, InterruptedException {
    ServerHttpRequest request = mock(ServerHttpRequest.class);
    given(request.getAsyncRequestControl(this.response))
            .willThrow(new IllegalArgumentException());
    final HttpConnection connection = new HttpConnection(request, this.response);
    final AtomicBoolean responded = new AtomicBoolean();
    Thread connectionThread = new Thread() {

        @Override
        public void run() {
            connection.waitForResponse();
            responded.set(true);
        }

    };
    connectionThread.start();
    assertThat(responded.get()).isFalse();
    Thread.sleep(sleepBeforeResponse);
    connection.respond(HttpStatus.NO_CONTENT);
    connectionThread.join();
    assertThat(responded.get()).isTrue();
}
项目:spring4-understanding    文件:AbstractHttpSendingTransportHandler.java   
protected final String getCallbackParam(ServerHttpRequest request) {
    String query = request.getURI().getQuery();
    MultiValueMap<String, String> params = UriComponentsBuilder.newInstance().query(query).build().getQueryParams();
    String value = params.getFirst("c");
    if (StringUtils.isEmpty(value)) {
        return null;
    }
    try {
        String result = UriUtils.decode(value, "UTF-8");
        return (CALLBACK_PARAM_PATTERN.matcher(result).matches() ? result : null);
    }
    catch (UnsupportedEncodingException ex) {
        // should never happen
        throw new SockJsException("Unable to decode callback query parameter", null, ex);
    }
}
项目:konker-platform    文件:CrudResponseAdvice.java   
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
                              Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request,
                              ServerHttpResponse response) {

    HttpStatus httpStatus = HttpStatus.OK;

    if (request.getMethod().equals(HttpMethod.DELETE)) {
        httpStatus = HttpStatus.NO_CONTENT;
    } else if (request.getMethod().equals(HttpMethod.POST)) {
        httpStatus = HttpStatus.CREATED;
    } else if (request.getMethod().equals(HttpMethod.PUT)) {
        httpStatus = HttpStatus.OK;
    } else if (request.getMethod().equals(HttpMethod.GET)) {
        if (body == null) {
            httpStatus = HttpStatus.NOT_FOUND;
        }
    }
    response.setStatusCode(httpStatus);
    return RestResponseBuilder.ok().withHttpStatus(httpStatus).withResult(body).getResponse();

}
项目:GitHub    文件:FastJsonpResponseBodyAdvice.java   
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
                              Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request,
                              ServerHttpResponse response) {
    MappingFastJsonValue container = getOrCreateContainer(body);
    beforeBodyWriteInternal(container, selectedContentType, returnType, request, response);
    return container;
}
项目:newblog    文件:HandshakeInterceptor.java   
@Override
public boolean beforeHandshake(ServerHttpRequest request,
                               ServerHttpResponse response, WebSocketHandler wsHandler,
                               Map<String, Object> attributes) throws Exception {

    // 解决The extension [x-webkit-deflate-frame] is not supported问题
    if (request.getHeaders().containsKey("Sec-WebSocket-Extensions")) {
        request.getHeaders().set("Sec-WebSocket-Extensions",
                "permessage-deflate");
    }

    System.out.println("Before Handshake");
    return super.beforeHandshake(request, response, wsHandler, attributes);
}
项目:newblog    文件:HandshakeInterceptor.java   
@Override
public void afterHandshake(ServerHttpRequest request,
                           ServerHttpResponse response, WebSocketHandler wsHandler,
                           Exception ex) {
    System.out.println("After Handshake");
    super.afterHandshake(request, response, wsHandler, ex);
}
项目:commelina    文件:JacksonResponseBodyJsonAdvice.java   
@Override
protected void beforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType,
                                       MethodParameter returnType, ServerHttpRequest request,
                                       ServerHttpResponse response) {

    ((ResponseBodyMessage) bodyContainer.getValue()).businessMsg = "xxxxxxxxxxxxxx";
}
项目:BIMplatform    文件:BinaryGeometryTemplateInterceptor.java   
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
        Map<String, Object> attributes) throws Exception {
    String rid = ((ServletServerHttpRequest) request).getServletRequest().getParameter("rid");
    String otid = ((ServletServerHttpRequest) request).getServletRequest().getParameter("otid");
    if (Strings.isNullOrEmpty(rid) || Strings.isNullOrEmpty(otid)) {
        return false;
    } else {
        attributes.put("rid", rid);
        attributes.put("otid", otid);
        return true;
    }
}
项目:BIMplatform    文件:GeometryInterceptor.java   
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
        Map<String, Object> attributes) throws Exception {

    String rid = ((ServletServerHttpRequest) request).getServletRequest().getParameter("rid");

    if (Strings.isNullOrEmpty(rid)) {  
        return false;  
    } else {
        attributes.put("rid", rid);  
        return true;  
    }  

}
项目:BIMplatform    文件:StreamGeometryInterceptor.java   
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
        Map<String, Object> attributes) throws Exception {

    String rid = ((ServletServerHttpRequest) request).getServletRequest().getParameter("rid");

    if (Strings.isNullOrEmpty(rid)) {  
        return false;  
    } else {
        attributes.put("rid", rid);  
        return true;  
    }  

}
项目:Instant-Messaging    文件:HandshakeInterceptor.java   
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
    System.out.println("Before Handshake");
    ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) request;
    HttpSession session = servletRequest.getServletRequest().getSession();
    if(session!=null){
        //区分socket连接以定向发送消息
        attributes.put("user", session.getAttribute("user"));
    }
    return true;
}
项目:opencron    文件:TerminalHandShaker.java   
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
    if (request instanceof ServletServerHttpRequest) {
        ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) request;
        HttpSession session = servletRequest.getServletRequest().getSession();
        attributes.put("cols",servletRequest.getServletRequest().getParameter("cols"));
        attributes.put("rows",servletRequest.getServletRequest().getParameter("rows"));
        attributes.put("width",servletRequest.getServletRequest().getParameter("width"));
        attributes.put("height",servletRequest.getServletRequest().getParameter("height"));
        attributes.put(SSH_SESSION_ID,session.getAttribute(SSH_SESSION_ID));
        attributes.put(HTTP_SESSION_ID,session.getAttribute(HTTP_SESSION_ID));
    }
    return super.beforeHandshake(request,response,wsHandler,attributes);
}
项目:lemon-fileservice    文件:JsonpResponseBodyAdvice.java   
/** 
 * 重写callback方法,使即支持jsonp格式也支持json格式
 */
@Override
protected void beforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType,
                                       MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) {

    HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();

    //如果不存在callback这个请求参数,直接返回,不需要处理为jsonp
    if (ObjectUtils.isEmpty(servletRequest.getParameter("callback"))) {
        return;
    }
    //按设定的请求参数(JsonAdvice构造方法中的this.jsonpQueryParamNames = new String[]{"callback"};),处理返回结果为jsonp格式
    for (String name : this.jsonpQueryParamNames) {
        String value = servletRequest.getParameter(name);
        if (value != null) {
            if (!isValidJsonpQueryParam(value)) {
    if (logger.isDebugEnabled()) {
        logger.debug("Ignoring invalid jsonp parameter value: " + value);
    }
    continue;
}
            MediaType contentTypeToUse = getContentType(contentType, request, response);
            response.getHeaders().setContentType(contentTypeToUse);
            bodyContainer.setJsonpFunction(value);
            return;
        }
    }
}
项目:filter    文件:SelfZuulFilterDataResponseHandler.java   
public Object beforeBodyWrite(Object body, MethodParameter returnType,
                              MediaType selectedContentType, Class selectedConverterType,
                              ServerHttpRequest request, ServerHttpResponse response) {

    Class converterType = returnType.getMethod().getDeclaringClass();
    FilterResponse defaultResponse = returnType.getMethod().getAnnotation(FilterResponse.class);
    if(defaultResponse==null) {
        defaultResponse = (FilterResponse) converterType.getAnnotation(FilterResponse.class);
    }
    String className =converterType.getName();
    logger.debug("beforeBodyWrite - className >" +className +", defaultResponse - > "+defaultResponse);
    if(defaultResponse!=null){
        switch (defaultResponse.type()){
            case defaultFilter:{
                return body;
            }
        }
    }

    Response res = new Response();
    Msg msg = new Msg();
    res.setCode(40000);
    res.setData(body);
    res.setMsg("");

    msg.setState(1);
    msg.setRes(res);

    return msg;
}
项目:role-api    文件:PaginationAdvice.java   
/**
 * {@inheritDoc}
 */
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
                              Class<? extends HttpMessageConverter<?>> selectedConverterType,
                              ServerHttpRequest request, ServerHttpResponse response) {
    Page<?> page = (Page<?>) body;
    this.paginationHeadersBuilder.addPaginationData(response.getHeaders(), page);
    return page.getContent();
}
项目:bubble2    文件:ControllerCrossDomainAdvice.java   
@Override
protected void beforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType, MethodParameter returnType,
        ServerHttpRequest request, ServerHttpResponse response) {
    response.getHeaders().set("Access-Control-Allow-Headers",
            "Origin,No-Cache,X-Requested-with,If-Modified-Since,Last-Modified,Cache-Control,Expires,Content-Type");
    response.getHeaders().set("Access-Control-Allow-Origin", "*");
    response.getHeaders().set("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE");
    response.getHeaders().set("Access-Control-Max-Age", "1512000");
}
项目:TeamNote    文件:WebsocketInterceptorImpl.java   
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
    System.out.println("Before Handshake");
    //get userId
    UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    String username = userDetails.getUsername();
    UserInfo userInfo = userInfoDao.getUserInfoByUsername(username);
    int userId = userInfo.getUserId();
    //put into websocketSession
    attributes.put("userId", userId);
    return true;
}
项目:dooo    文件:ApiResponseBodyAdvice.java   
@Override
public ApiResponse beforeBodyWrite(ApiResponse body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
    if (request instanceof ServletServerHttpRequest) {
        ServletServerHttpRequest servletServerHttpRequest = (ServletServerHttpRequest) request;
        RequestInfo requestInfo = (RequestInfo) servletServerHttpRequest.getServletRequest().getAttribute(Constants.REQUEST_INFO_TAG);
        if (requestInfo != null) {
            RequestStatistics.getSingleton().complete(requestInfo);
        }
    }

    return body;
}
项目:FastBootWeixin    文件:WxMessageResponseBodyAdvice.java   
@Override
public WxMessage beforeBodyWrite(WxMessage body, MethodParameter returnType,
                                 MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType,
                                 ServerHttpRequest request, ServerHttpResponse response) {
    if (!(request instanceof ServletServerHttpRequest) || body == null) {
        return body;
    }
    HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();
    WxRequest wxRequest = WxWebUtils.getWxRequestFromRequest(servletRequest);
    return wxMessageProcessor.process(new WxRequestMessageParameter(wxRequest), body);
}
项目:FastBootWeixin    文件:WxMediaResponseBodyAdvice.java   
@Override
public WxMediaResource beforeBodyWrite(WxMediaResource body, MethodParameter returnType,
                                       MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType,
                                       ServerHttpRequest request, ServerHttpResponse response) {
    if (body == null || !body.isUrlMedia()) {
        return body;
    }
    try {
        response.getHeaders().setLocation(body.getURI());
        response.setStatusCode(HttpStatus.FOUND);
        return null;
    } catch (IOException e) {
        throw new WxAppException("系统异常");
    }
}
项目:FastBootWeixin    文件:WxStringResponseBodyAdvice.java   
@Override
public String beforeBodyWrite(String body, MethodParameter returnType,
                              MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType,
                              ServerHttpRequest request, ServerHttpResponse response) {
    if (!(request instanceof ServletServerHttpRequest) || StringUtils.isEmpty(body)) {
        return null;
    }
    HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();
    WxRequest wxRequest = WxWebUtils.getWxRequestFromRequest(servletRequest);
    WxUserMessage text = WxMessage.Text.builder().content(body).build();
    return parseXml(wxMessageProcessor.process(new WxRequestMessageParameter(wxRequest), text));
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:DispatcherTests.java   
@Test
public void accessManagerVetoRequest() throws Exception {
    given(this.accessManager.isAllowed(any(ServerHttpRequest.class)))
            .willReturn(false);
    HandlerMapper mapper = mock(HandlerMapper.class);
    Handler handler = mock(Handler.class);
    given(mapper.getHandler(any(ServerHttpRequest.class))).willReturn(handler);
    Dispatcher dispatcher = new Dispatcher(this.accessManager,
            Collections.singleton(mapper));
    dispatcher.handle(this.serverRequest, this.serverResponse);
    verifyZeroInteractions(handler);
    assertThat(this.response.getStatus()).isEqualTo(403);
}
项目:spring-boot-concourse    文件:EndpointWebMvcHypermediaManagementContextConfiguration.java   
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType,
        MediaType selectedContentType,
        Class<? extends HttpMessageConverter<?>> selectedConverterType,
        ServerHttpRequest request, ServerHttpResponse response) {
    if (request instanceof ServletServerHttpRequest) {
        beforeBodyWrite(body, (ServletServerHttpRequest) request);
    }
    return body;
}