in src/messages.js [67:96]
static read(buf) {
const type = buf.readUint8();
let msg = null;
buf.readVector24(buf => {
switch (type) {
case HANDSHAKE_TYPE.CLIENT_HELLO:
msg = ClientHello._read(buf);
break;
case HANDSHAKE_TYPE.SERVER_HELLO:
msg = ServerHello._read(buf);
break;
case HANDSHAKE_TYPE.NEW_SESSION_TICKET:
msg = NewSessionTicket._read(buf);
break;
case HANDSHAKE_TYPE.ENCRYPTED_EXTENSIONS:
msg = EncryptedExtensions._read(buf);
break;
case HANDSHAKE_TYPE.FINISHED:
msg = Finished._read(buf);
break;
}
if (buf.hasMoreBytes()) {
throw new TLSError(ALERT_DESCRIPTION.DECODE_ERROR);
}
});
if (msg === null) {
throw new TLSError(ALERT_DESCRIPTION.UNEXPECTED_MESSAGE);
}
return msg;
}