+
+ private validateRawDataRequest(rawData: RawData): ProtocolRequest | false {
+ // logger.debug(
+ // `${this.logPrefix(
+ // moduleName,
+ // 'validateRawDataRequest'
+ // )} Raw data received in string format: ${rawData.toString()}`
+ // );
+
+ const request = JSON.parse(rawData.toString()) as ProtocolRequest;
+
+ if (Array.isArray(request) === false) {
+ logger.error(
+ `${this.logPrefix(
+ moduleName,
+ 'validateRawDataRequest'
+ )} UI protocol request is not an array:`,
+ request
+ );
+ return false;
+ }
+
+ if (request.length !== 3) {
+ logger.error(
+ `${this.logPrefix(moduleName, 'validateRawDataRequest')} UI protocol request is malformed:`,
+ request
+ );
+ return false;
+ }
+
+ if (uuid.validate(request[0]) === false) {
+ logger.error(
+ `${this.logPrefix(
+ moduleName,
+ 'validateRawDataRequest'
+ )} UI protocol request UUID field is invalid:`,
+ request
+ );
+ return false;
+ }
+
+ return request;
+ }