Don't break the parser on message handling exceptions
This commit is contained in:
parent
5278cd17fe
commit
ace8a4d736
1 changed files with 11 additions and 8 deletions
|
|
@ -47,9 +47,9 @@ class DebugAdapterConnection( object ):
|
||||||
|
|
||||||
def OnData( self, data ):
|
def OnData( self, data ):
|
||||||
data = bytes( data, 'utf-8' )
|
data = bytes( data, 'utf-8' )
|
||||||
self._logger.debug( 'Received ({0}/{1}): {2},'.format( type( data ),
|
# self._logger.debug( 'Received ({0}/{1}): {2},'.format( type( data ),
|
||||||
len( data ),
|
# len( data ),
|
||||||
data ) )
|
# data ) )
|
||||||
|
|
||||||
self._buffer += data
|
self._buffer += data
|
||||||
|
|
||||||
|
|
@ -73,9 +73,10 @@ class DebugAdapterConnection( object ):
|
||||||
|
|
||||||
def _SendMessage( self, msg ):
|
def _SendMessage( self, msg ):
|
||||||
msg = json.dumps( msg )
|
msg = json.dumps( msg )
|
||||||
data = 'Content-Length: {0}\r\n\r\n{1}'.format( len( msg ), msg )
|
self._logger.debug( 'Sending Message: {0}'.format( msg ) )
|
||||||
|
|
||||||
self._logger.debug( 'Sending: {0}'.format( data ) )
|
data = 'Content-Length: {0}\r\n\r\n{1}'.format( len( msg ), msg )
|
||||||
|
# self._logger.debug( 'Sending: {0}'.format( data ) )
|
||||||
self._Write( data )
|
self._Write( data )
|
||||||
|
|
||||||
def _ReadHeaders( self ):
|
def _ReadHeaders( self ):
|
||||||
|
|
@ -110,9 +111,11 @@ class DebugAdapterConnection( object ):
|
||||||
|
|
||||||
self._logger.debug( 'Message received: {0}'.format( message ) )
|
self._logger.debug( 'Message received: {0}'.format( message ) )
|
||||||
|
|
||||||
self._OnMessageReceived( message )
|
try:
|
||||||
|
self._OnMessageReceived( message )
|
||||||
self._SetState( 'READ_HEADER' )
|
finally:
|
||||||
|
# Don't allow exceptions to break message reading
|
||||||
|
self._SetState( 'READ_HEADER' )
|
||||||
|
|
||||||
def _OnMessageReceived( self, message ):
|
def _OnMessageReceived( self, message ):
|
||||||
if not self._handler:
|
if not self._handler:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue