From 2ea3169cc948e21561ee9d8a9b64c1d592d1cde4 Mon Sep 17 00:00:00 2001 From: Ma Bingyao Date: Thu, 1 Dec 2016 21:46:07 +0800 Subject: [PATCH] Added an example of custom http header --- .../java/hprose/exam/client/ClientExam11.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 example/exam/client/src/main/java/hprose/exam/client/ClientExam11.java 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")); + } +}