File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import { IncomingEvent , IncomingRequest } from '../interfaces' ;
2+ import { KafkaRequest } from '../serializers/kafka-request.serializer' ;
3+ import { IncomingRequestDeserializer } from './incoming-request.deserializer' ;
4+
5+ export class KafkaRequestDeserializer extends IncomingRequestDeserializer {
6+ mapToSchema (
7+ data : KafkaRequest ,
8+ options ?: Record < string , any > ,
9+ ) : IncomingRequest | IncomingEvent {
10+ if ( ! options ) {
11+ return {
12+ pattern : undefined ,
13+ data : undefined ,
14+ } ;
15+ }
16+ return {
17+ pattern : options . channel ,
18+ data : data ?. value ?? data ,
19+ } ;
20+ }
21+ }
Original file line number Diff line number Diff line change 88 NO_MESSAGE_HANDLER ,
99} from '../constants' ;
1010import { KafkaContext } from '../ctx-host' ;
11+ import { KafkaRequestDeserializer } from '../deserializers/kafka-request.deserializer' ;
1112import { KafkaHeaders , Transport } from '../enums' ;
1213import { KafkaRetriableException } from '../exceptions' ;
1314import {
@@ -184,7 +185,6 @@ export class ServerKafka extends Server implements CustomTransportStrategy {
184185 } ) ;
185186 }
186187
187- // @TODO pass packet.data.value (overide deserializer)
188188 const response$ = this . transformToObservable (
189189 await handler ( packet . data , kafkaContext ) ,
190190 ) ;
@@ -276,4 +276,8 @@ export class ServerKafka extends Server implements CustomTransportStrategy {
276276 this . serializer =
277277 ( options && options . serializer ) || new KafkaRequestSerializer ( ) ;
278278 }
279+
280+ protected initializeDeserializer ( options : KafkaOptions [ 'options' ] ) {
281+ this . deserializer = options ?. deserializer ?? new KafkaRequestDeserializer ( ) ;
282+ }
279283}
You can’t perform that action at this time.
0 commit comments