UNPKG

rsocket-rxjs

Version:
62 lines (61 loc) 2.77 kB
import { factory } from '../core/config-log4j'; import { FrameType } from '../core/protocol/frame'; import { arrayBufferToUtf8String } from "./conversions"; const log = factory.getLogger("protocol.FrameLogger"); export function frameToString(frame, fromClient) { let frameType; switch (frame.type()) { case FrameType.SETUP: frameType = "SETUP"; break; case FrameType.ERROR: frameType = "ERROR"; break; case FrameType.CANCEL: frameType = "CANCEL"; break; case FrameType.PAYLOAD: frameType = "PAYLOAD"; break; case FrameType.KEEPALIVE: frameType = "KEEPALIVE"; break; case FrameType.REQUEST_RESPONSE: frameType = "REQUEST_RESPONSE"; break; case FrameType.REQUEST_STREAM: frameType = "REQUEST_STREAM"; break; case FrameType.REQUEST_FNF: frameType = "REQUEST_FNF"; break; case FrameType.REQUEST_N: frameType = "REQUEST_N"; break; default: frameType = "Unmapped: " + frame.type(); break; } let originTag = ""; if (fromClient) { originTag = "CLIENT"; } else { originTag = "SERVER"; } if (frame.type() == FrameType.SETUP) { return `Frame Type: ${frameType} - Length ${frame.buffer.byteLength}----\n| Stream Id = ${frame.streamId()} ${originTag} ----|\n| Major Version = ${frame.majorVersion()} | Minor Version = ${frame.minorVersion()} ---\n| Keepalive Time = ${frame.timeBetweenKeeaplive()}---\n| Max Lifetime = ${frame.maxLifetime()} ---\n| MetaData Mime Type = ${arrayBufferToUtf8String(frame.metadataMimeType())} ----\n| Data Mime Type = ${arrayBufferToUtf8String(frame.dataMimeType())}`; } else if (frame.type() == FrameType.ERROR) { return `Frame Type: ${frameType} - Length ${frame.buffer.byteLength}----\n| Stream Id = ${frame.streamId()} ${originTag}\n###Error Message:###\n ${arrayBufferToUtf8String(frame.payload().data)}`; } else if (frame.type() == FrameType.REQUEST_RESPONSE) { return `Frame Type: ${frameType} - Length ${frame.buffer.byteLength}----\n| Stream Id = ${frame.streamId()} ${originTag} ----|\n| Payload Metadata = ${arrayBufferToUtf8String(frame.payload().metadata)} ---|\n| Payload Data = ${frame.payload().data} ---|`; } else { return `Frame Type: ${frameType} - Length ${frame.buffer.byteLength}----\n| Stream Id = ${frame.streamId()} ${originTag}`; } } export function logFrame(frame, fromClient) { log.debug(frameToString(frame, fromClient)); }