ServletNettyChannelHandler.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:netty-cookbook 作者:
void copyHttpBodyData(FullHttpRequest fullHttpReq, MockHttpServletRequest servletRequest){
    ByteBuf bbContent = fullHttpReq.content();  

    if(bbContent.hasArray()) {              
        servletRequest.setContent(bbContent.array());
    } else {            
        if(fullHttpReq.getMethod().equals(HttpMethod.POST)){
            HttpPostRequestDecoder decoderPostData  = new HttpPostRequestDecoder(new DefaultHttpDataFactory(false), fullHttpReq);
            String bbContentStr = bbContent.toString(Charset.forName(UTF_8));
            servletRequest.setContent(bbContentStr.getBytes());
            if( ! decoderPostData.isMultipart() ){
                List<InterfaceHttpData> postDatas = decoderPostData.getBodyHttpDatas();
                for (InterfaceHttpData postData : postDatas) {
                    if (postData.getHttpDataType() == HttpDataType.Attribute) {
                        Attribute attribute = (Attribute) postData;
                        try {                                           
                            servletRequest.addParameter(attribute.getName(),attribute.getValue());
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }   
            }
        }           
    }   
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号