diff --git a/contrib/codecs/inproc/client.go b/contrib/codecs/inproc/client.go
index 63df52950e7485aacb1b70867c1eadfee0d45c91..71fb98aa0365dcce68609ec231ffd61a61dc66bc 100644
--- a/contrib/codecs/inproc/client.go
+++ b/contrib/codecs/inproc/client.go
@@ -45,7 +45,14 @@ func (c *Client) listen() error {
 			id := v.ID.Number()
 			if id == 0 {
 				if c.handler != nil {
-					c.handler.ServeRPC(w, r)
+					c.handler.ServeRPC(nil, codec.NewRequestFromRaw(c.c.ctx, &codec.RequestMarshaling{
+						Method: v.Method,
+						Params: v.Params,
+						Peer: codec.PeerInfo{
+							Transport:  "ipc",
+							RemoteAddr: "",
+						},
+					}))
 				}
 				continue
 			}