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
19
20
21
22
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 }