@@ -248,7 +248,6 @@ class ProxyCore extends events.EventEmitter {
248248 return self ;
249249 }
250250
251-
252251 /**
253252 * close the proxy server
254253 *
@@ -326,54 +325,47 @@ class ProxyServer extends ProxyCore {
326325 }
327326
328327 start ( ) {
328+ if ( this . recorder ) {
329+ this . recorder . setDbAutoCompact ( ) ;
330+ }
331+
329332 // start web interface if neeeded
330333 if ( this . proxyWebinterfaceConfig && this . proxyWebinterfaceConfig . enable ) {
331334 this . webServerInstance = new WebInterface ( this . proxyWebinterfaceConfig , this . recorder ) ;
332335 // start web server
333- this . webServerInstance . start ( ) . then ( ( ) => {
334- // start proxy core
335- super . start ( ) ;
336- } )
337- . catch ( ( e ) => {
338- this . emit ( 'error' , e ) ;
339- } ) ;
336+ this . webServerInstance . start ( )
337+ // start proxy core
338+ . then ( ( ) => {
339+ super . start ( ) ;
340+ } )
341+ . catch ( ( e ) => {
342+ this . emit ( 'error' , e ) ;
343+ } ) ;
340344 } else {
341345 super . start ( ) ;
342346 }
343347 }
344348
345349 close ( ) {
346- return new Promise ( ( resolve , reject ) => {
347- super . close ( )
348- . then ( ( error ) => {
349- if ( error ) {
350- resolve ( error ) ;
351- }
352- } ) ;
353-
354- if ( this . recorder ) {
355- logUtil . printLog ( 'clearing cache file...' ) ;
356- this . recorder . clear ( ) ;
357- }
358- const tmpWebServer = this . webServerInstance ;
359- this . recorder = null ;
360- this . webServerInstance = null ;
361- if ( tmpWebServer ) {
362- logUtil . printLog ( 'closing webserver...' ) ;
363- tmpWebServer . close ( ( error ) => {
364- if ( error ) {
365- console . error ( error ) ;
366- logUtil . printLog ( `proxy web server close FAILED: ${ error . message } ` , logUtil . T_ERR ) ;
367- } else {
368- logUtil . printLog ( `proxy web server closed at ${ this . proxyHostName } : ${ this . webPort } ` ) ;
369- }
370-
371- resolve ( error ) ;
372- } )
373- } else {
374- resolve ( null ) ;
375- }
376- } ) ;
350+ const self = this ;
351+ // release recorder
352+ if ( self . recorder ) {
353+ self . recorder . stopDbAutoCompact ( ) ;
354+ self . recorder . clear ( ) ;
355+ }
356+ self . recorder = null ;
357+
358+ // close ProxyCore
359+ return super . close ( )
360+ // release webInterface
361+ . then ( ( ) => {
362+ if ( self . webServerInstance ) {
363+ const tmpWebServer = self . webServerInstance ;
364+ self . webServerInstance = null ;
365+ logUtil . printLog ( 'closing webInterface...' ) ;
366+ return tmpWebServer . close ( ) ;
367+ }
368+ } ) ;
377369 }
378370}
379371
0 commit comments