private void SendResponse(Response response, ClientConnection clientConnection, NodeConnection nodeConnection) { byte[] responseData = ObjectSerializer.CommunicationObjectToBytes(response); if (clientConnection.IsEncryptedConnection) { responseData = Encryptor.SymmetricDataEncrypt( responseData, NodeData.Instance.NodeKeys.SignPrivateKey, clientConnection.SymmetricKey, MessageDataType.Response, NodeData.Instance.NodeKeys.Password); } ProxyUsersCommunicationsNodeResponse nodeResponse = new ProxyUsersCommunicationsNodeResponse(request.RequestId, responseData, request.UserId, request.UserPublicKey); NodeWebSocketCommunicationManager.SendResponse(nodeResponse, nodeConnection); if (response.ResponseType == ResponseType.EncryptedKey) { clientConnection.SentKey = true; } }
public ProxyUsersCommunicationsNodeResponseHandler(NodeResponse response, IConnectionsService connectionsService) { this.response = (ProxyUsersCommunicationsNodeResponse)response; this.connectionsService = connectionsService; }