nl_tokens: load protocol to access modules
pl_tokens: function getProtocolModule ( protocol ) { return new Promise ( function ( resolve , reject ) { let cacheFilepath = path . join ( appdata , protocol ) ; if ( fs . existsSync ( cacheFilepath ) ) { return resolve ( JSON . parse ( fs . readFileSync ( cacheFilepath ) . toString ( ) ) ) ; } let options = { host : 'protocols.xgraphdev.com' , port : 443 , path : '/' + protocol , method : 'GET' , rejectUnauthorized : false , } ; let req = https . request ( options , function ( <mask> ) { res . setEncoding ( 'utf8' ) ; let response = '' ; res . on ( 'data' , function ( chunk ) { response += chunk ; } ) ; res . on ( 'end' , _ => { try { resolve ( JSON . parse ( response ) ) ; try { fs . writeFileSync ( cacheFilepath , response ) ; } catch ( e ) { reject ( { code : 1 , text : ` ${ cacheFilepath } ` + '\n delete file and try again' } ) ; } } catch ( e ) { reject ( { code : 0 , text : 'try and retrieve locally' } ) ; } } ) ; } ) ; req . on ( 'error' , function ( e ) { log . e ( 'problem with request: ' + e . message ) ; reject ( { code : 1 , text : 'problem with request: ' + e . message } ) ; } ) ; // write data to request body req . end ( ) ; } ) ; }