rsocket-rxjs
Version:
RSocket Protocol Client Implementation
20 lines (19 loc) • 844 B
JavaScript
import { map } from "rxjs/operators";
export class EncodingRSocketResponder {
constructor(encodingRSocket) {
this.encodingRSocket = encodingRSocket;
}
handleRequestStream(payload) {
const handler = this.handleDecodedRequestStream(this.encodingRSocket.tryDecodePayload(payload));
return {
stream: handler.stream.pipe(map(ans => this.encodingRSocket.tryEncodePayload(ans))),
backpressureStrategy: handler.backpressureStrategy
};
}
handleRequestResponse(payload) {
return this.handleDecodedRequestResponse(this.encodingRSocket.tryDecodePayload(payload)).pipe(map(ans => this.encodingRSocket.tryEncodePayload(ans)));
}
handleFNF(payload) {
this.handleDecodedFireAndForget(this.encodingRSocket.tryDecodePayload(payload));
}
}