View Javadoc
1   package com.foxinmy.weixin4j.socket;
2   
3   import java.util.List;
4   
5   import com.foxinmy.weixin4j.response.SingleResponse;
6   import com.foxinmy.weixin4j.util.HttpUtil;
7   import com.foxinmy.weixin4j.util.ServerToolkits;
8   
9   import io.netty.channel.ChannelHandler;
10  import io.netty.channel.ChannelHandlerContext;
11  import io.netty.handler.codec.MessageToMessageEncoder;
12  import io.netty.util.internal.logging.InternalLogger;
13  import io.netty.util.internal.logging.InternalLoggerFactory;
14  
15  /**
16   * 单一回复编码类
17   *
18   * @className SingleResponseEncoder
19   * @author jinyu(foxinmy@gmail.com)
20   * @date 2015年08月02日
21   * @since JDK 1.6
22   * @see com.foxinmy.weixin4j.response.SingleResponse
23   */
24  @ChannelHandler.Sharable
25  public class SingleResponseEncoder extends MessageToMessageEncoder<SingleResponse> {
26  
27      private final InternalLogger logger = InternalLoggerFactory.getInstance(getClass());
28  
29      @Override
30      protected void encode(ChannelHandlerContext ctx, SingleResponse response, List<Object> out) {
31          String content = response.toContent();
32          ctx.writeAndFlush(HttpUtil.createHttpResponse(content, ServerToolkits.CONTENTTYPE$TEXT_PLAIN));
33          logger.info("encode single response:{}", content);
34      }
35  }