@@ -199,84 +199,84 @@ p.parseMessage = function() {
199199 return false ;
200200 }
201201
202- var messageType = this . buffer [ this . offset ++ ] ;
202+ //read message id code
203+ var id = this . buffer [ this . offset ++ ] ;
204+ //read message length
205+ var length = this . parseInt32 ( ) ;
203206
204- var message = {
205- length : this . parseInt32 ( )
206- } ;
207-
208- if ( remaining <= message . length ) {
207+ if ( remaining <= length ) {
209208 this . lastBuffer = this . buffer ;
210209 //rewind the last 5 bytes we read
211210 this . lastOffset = this . offset - 5 ;
212211 return false ;
213212 }
214213
215- switch ( messageType )
214+ var msg = {
215+ length : length
216+ } ;
217+
218+ switch ( id )
216219 {
217220
218221 case 0x52 : //R
219- message . name = 'authenticationOk' ;
220- return this . parseR ( message ) ;
222+ msg . name = 'authenticationOk' ;
223+ return this . parseR ( msg ) ;
221224
222225 case 0x53 : //S
223- message . name = 'parameterStatus' ;
224- return this . parseS ( message ) ;
226+ msg . name = 'parameterStatus' ;
227+ return this . parseS ( msg ) ;
225228
226229 case 0x4b : //K
227- message . name = 'backendKeyData' ;
228- return this . parseK ( message ) ;
230+ msg . name = 'backendKeyData' ;
231+ return this . parseK ( msg ) ;
229232
230233 case 0x43 : //C
231- message . name = 'commandComplete' ;
232- return this . parseC ( message ) ;
234+ msg . name = 'commandComplete' ;
235+ return this . parseC ( msg ) ;
233236
234237 case 0x5a : //Z
235- message . name = 'readyForQuery' ;
236- return this . parseZ ( message ) ;
238+ msg . name = 'readyForQuery' ;
239+ return this . parseZ ( msg ) ;
237240
238241 case 0x54 : //T
239- message . name = 'rowDescription' ;
240- return this . parseT ( message ) ;
242+ msg . name = 'rowDescription' ;
243+ return this . parseT ( msg ) ;
241244
242245 case 0x44 : //D
243- message . name = 'dataRow' ;
244- return this . parseD ( message ) ;
246+ msg . name = 'dataRow' ;
247+ return this . parseD ( msg ) ;
245248
246249 case 0x45 : //E
247- message . name = 'error' ;
248- return this . parseE ( message ) ;
250+ msg . name = 'error' ;
251+ return this . parseE ( msg ) ;
249252
250253 case 0x4e : //N
251- message . name = 'notice' ;
252- return this . parseN ( message ) ;
254+ msg . name = 'notice' ;
255+ return this . parseN ( msg ) ;
253256
254257 case 0x31 : //1
255- message . name = 'parseComplete' ;
256- return this . parse1 ( message ) ;
258+ msg . name = 'parseComplete' ;
259+ return msg ;
257260
258261 case 0x32 : //2
259- message . name = 'bindComplete' ;
260- return this . parse2 ( message ) ;
262+ msg . name = 'bindComplete' ;
263+ return msg ;
261264
262265 case 0x41 : //A
263- message . name = 'notification' ;
264- return this . parseA ( message ) ;
266+ msg . name = 'notification' ;
267+ return this . parseA ( msg ) ;
265268
266269 case 0x6e : //n
267- message . name = 'noData' ;
268- return this . parsen ( message ) ;
270+ msg . name = 'noData' ;
271+ return msg ;
269272
270273 case 0x49 : //I
271- message . name = 'emptyQuery' ;
272- return this . parseI ( message ) ;
274+ msg . name = 'emptyQuery' ;
275+ return msg ;
273276
274277 default :
275- throw new Error ( "Unrecognized message code " + messageType ) ;
278+ throw new Error ( "Unrecognized message code " + id ) ;
276279 }
277-
278-
279-
280280} ;
281281
282282p . parseR = function ( msg ) {
@@ -384,30 +384,13 @@ p.parseE = function(msg) {
384384//same thing, different name
385385p . parseN = p . parseE ;
386386
387- //some messages are only a header portion and
388- //require no more parsing
389- var noParse = function ( msg ) { return msg ; } ;
390-
391- //parses parseComplete
392- p . parse1 = noParse ;
393-
394- //parses bindComplete
395- p . parse2 = noParse ;
396-
397- //parse emptyQuery
398- p . parseI = noParse ;
399-
400387p . parseA = function ( msg ) {
401388 msg . processId = this . parseInt32 ( ) ;
402389 msg . channel = this . parseCString ( ) ;
403390 msg . payload = this . parseCString ( ) ;
404391 return msg ;
405392} ;
406393
407- p . parsen = function ( msg ) {
408- return msg ;
409- } ;
410-
411394p . readChar = function ( ) {
412395 return Buffer ( [ this . buffer [ this . offset ++ ] ] ) . toString ( this . encoding ) ;
413396} ;
0 commit comments