26 lines
633 B
JavaScript
26 lines
633 B
JavaScript
|
'use strict';
|
||
|
|
||
|
const ClientConstants = require('../constants/client');
|
||
|
const Packet = require('../packets/packet');
|
||
|
|
||
|
class SSLRequest {
|
||
|
constructor(flags, charset) {
|
||
|
this.clientFlags = flags | ClientConstants.SSL;
|
||
|
this.charset = charset;
|
||
|
}
|
||
|
|
||
|
toPacket() {
|
||
|
const length = 36;
|
||
|
const buffer = Buffer.allocUnsafe(length);
|
||
|
const packet = new Packet(0, buffer, 0, length);
|
||
|
buffer.fill(0);
|
||
|
packet.offset = 4;
|
||
|
packet.writeInt32(this.clientFlags);
|
||
|
packet.writeInt32(0); // max packet size. todo: move to config
|
||
|
packet.writeInt8(this.charset);
|
||
|
return packet;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = SSLRequest;
|