Я использую socket.io и выражаю оба с пером.Для сбора метрик я пытаюсь захватить обходы для запросов, сделанных как через Express, так и через socket.io.
С экспресс-связью легко работать с промежуточным программным обеспечением Express.
Я могу пойматьsocket.io входящий запрос через socket.use
:
const app = express(feathers());
... (set up feathers services etc.)
app.configure(socketio(function(io) {
io.use(function(socket, next) {
socket.use((packet, next) => {
... (extract the verb and pathing info from the packet)
next();
});
next();
});
});
Однако я не могу найти эквивалент socket.use
на стороне исходящего / подтверждения.Внутри engine.io есть некоторые события, но я не могу получить к ним доступ.
Я действительно пытаюсь найти эквивалентный набор событий, генерируемых для каждого запроса / ответа (последний эквивалентен finish
в экспресс).
Я не могу использовать здесь события подключения / отключения;Я хочу захватить каждый запрос, сделанный через сокет , и ответы, отправленные для них , независимо от службы и модуля перьев.
Перехватчики Feathers.js могут использоваться для этого, но это будеттребуется передать кучу контекста из промежуточного программного обеспечения socket.io в перья, чего я надеялся не делать.
Кто-нибудь знает способ сделать это?