 					uri = "rpc://#{route}"
 					req.socket.on uri, (data, fn) ->
 						
-						req.session?.touch()
-						req.body = data
+						routeReq = {}
+						routeReq[key] = value for own key, value of req
+						
+						routeReq.body = data
 						
 						emitError = (error) -> fn error: errors.serialize error
 						

							errors.caught error
							emitError error
						
						endpoint.validators.dispatch req, null, (error) ->
							return sendErrorToClient error if error?
							
							endpoint.receiver(
								req, (error, result) ->
									return sendErrorToClient error if error?
									
									reply = (error) ->

										
										fn result: result
									
									if (session = req.session)?
										session.touch().save reply
									else
										reply()
							)
