31 lines
		
	
	
		
			707 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			707 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchRequest
 | ||
|  | 
 | ||
|  | const Packet = require('../packets/packet'); | ||
|  | 
 | ||
|  | class AuthSwitchResponse { | ||
|  |   constructor(data) { | ||
|  |     if (!Buffer.isBuffer(data)) { | ||
|  |       data = Buffer.from(data); | ||
|  |     } | ||
|  |     this.data = data; | ||
|  |   } | ||
|  | 
 | ||
|  |   toPacket() { | ||
|  |     const length = 4 + this.data.length; | ||
|  |     const buffer = Buffer.allocUnsafe(length); | ||
|  |     const packet = new Packet(0, buffer, 0, length); | ||
|  |     packet.offset = 4; | ||
|  |     packet.writeBuffer(this.data); | ||
|  |     return packet; | ||
|  |   } | ||
|  | 
 | ||
|  |   static fromPacket(packet) { | ||
|  |     const data = packet.readBuffer(); | ||
|  |     return new AuthSwitchResponse(data); | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = AuthSwitchResponse; |