diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-10 22:24:01 +0100 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-10 22:33:00 +0100 |
commit | fc7ef2ba156db641e1d193cc2e3f1352eaa74bd8 (patch) | |
tree | b020dbcee136476eaf1cf6c8c22a7530789887d1 /jsonrpc/src/main/java/com/orbekk/rpc/RpcHandler.java | |
parent | 3fd156ef2cd87e0b70dc5906aad7071ab908cedf (diff) |
Add SameState class to manage the state of a client.
The SameState class manages a view of the 'Same' network. Some
functionality was moved from SameServiceImpl to SameState.
Diffstat (limited to 'jsonrpc/src/main/java/com/orbekk/rpc/RpcHandler.java')
-rw-r--r-- | jsonrpc/src/main/java/com/orbekk/rpc/RpcHandler.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/jsonrpc/src/main/java/com/orbekk/rpc/RpcHandler.java b/jsonrpc/src/main/java/com/orbekk/rpc/RpcHandler.java index bc76e4e..39676fe 100644 --- a/jsonrpc/src/main/java/com/orbekk/rpc/RpcHandler.java +++ b/jsonrpc/src/main/java/com/orbekk/rpc/RpcHandler.java @@ -10,18 +10,25 @@ import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; import com.googlecode.jsonrpc4j.JsonRpcServer; +import com.orbekk.same.CallerInfoListener; public class RpcHandler extends AbstractHandler { private JsonRpcServer rpcServer; + private CallerInfoListener callerInfoListener; - public RpcHandler(JsonRpcServer rpcServer) { + public RpcHandler(JsonRpcServer rpcServer, + CallerInfoListener callerInfoListener) { this.rpcServer = rpcServer; + this.callerInfoListener = callerInfoListener; } @Override - public void handle(String target, Request baseRequest, + public synchronized void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + if (callerInfoListener != null) { + callerInfoListener.setCaller(request.getRemoteAddr()); + } rpcServer.handle(request, response); } } |