diff --git a/example/exam/client/src/main/java/hprose/exam/client/ClientExam11.java b/example/exam/client/src/main/java/hprose/exam/client/ClientExam11.java new file mode 100644 index 0000000..df4f08a --- /dev/null +++ b/example/exam/client/src/main/java/hprose/exam/client/ClientExam11.java @@ -0,0 +1,38 @@ +package hprose.exam.client; + +import hprose.client.HproseHttpClient; +import hprose.common.HproseContext; +import hprose.common.HproseFilter; +import java.nio.ByteBuffer; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +class LogFilter implements HproseFilter { + private static final Logger logger = Logger.getLogger(LogFilter.class.getName()); + @Override + public ByteBuffer inputFilter(ByteBuffer data, HproseContext context) { + logger.log(Level.INFO, context.get("httpHeader").toString()); + return data; + } + @Override + public ByteBuffer outputFilter(ByteBuffer data, HproseContext context) { + Map> header = new HashMap<>(); + header.put("Test", Arrays.asList("Hello Hprose")); + context.set("httpHeader", header); + return data; + } +} + +public class ClientExam11 { + public static void main(String[] args) throws Throwable { + HproseHttpClient client = new HproseHttpClient(); + client.useService("http://localhost:8084/examserver/Methods"); + client.addFilter(new LogFilter()); + System.out.println(client.invoke("ex1_getId")); + System.out.println(client.invoke("ex2_getId")); + } +}