2016-04-03 4 views
2

Я ищу способ сделать мой сервер глубокого потока улучшенными данными, отправленными в конечную точку RPC с авторизованными данными клиента. Интересно, это реалистично. Если да, то как я могу это достичь?Сделайте сервер данных с расширенным потоком данных, поступающих в RPC

Я могу ясно видеть, что у меня есть авторизованные пользовательские данные в вызове canPerformAction. Я не уверен, как я могу изменить сообщение.

ответ

3

Функции преобразования позволяют это сделать.

https://deepstream.io/tutorials/transforming-data.html

Это дает вам крюк для вставки или удаления данных из каждого входящего и исходящего сообщения от deepstream, включая RPC, события и записи.

server.set('dataTransforms', [{ 
    topic: C.TOPIC.RPC, 
    action: C.ACTIONS.REQUEST, 
    transform: function(data, metaData) { 
     if(metaData.rpcName === 'do-something') { 
      // Add user sensitive data to rpc 
      data.userData = confidentialUserData[ metaData.sender ]; 
     } 
     return data; 
    } 
}]); 
+0

Что еще содержит метаданные? Где я могу прочитать об этом? –

+0

Хорошо, я обнаружил, что он фактически будет содержать данные, которые я ставлю на этапе авторизации. –

+0

Вы можете увидеть подробности о метаданных в таблице «Как манипулировать данными» в учебнике по трансформации – yasserf