@@ -28,11 +28,14 @@ module.exports = function(RED) {
2828 username = null ,
2929 password = null ,
3030 sUsername = null ,
31- sPassword = null ;
31+ sPassword = null ,
32+ endpoint = '' ,
33+ sEndpoint = 'https://gateway.watsonplatform.net/natural-language-classifier/api' ;
3234
3335 if ( service ) {
3436 sUsername = service . username ;
3537 sPassword = service . password ;
38+ sEndpoint = service . url ;
3639 }
3740
3841 temp . track ( ) ;
@@ -54,6 +57,12 @@ module.exports = function(RED) {
5457 node . verifyCredentials = function ( msg ) {
5558 username = sUsername || node . credentials . username ;
5659 password = sPassword || node . credentials . password ;
60+
61+ endpoint = sEndpoint ;
62+ if ( ( ! config [ 'default-endpoint' ] ) && config [ 'service-endpoint' ] ) {
63+ endpoint = config [ 'service-endpoint' ] ;
64+ }
65+
5766 if ( ! username || ! password ) {
5867 return Promise . reject ( 'Missing Natural Language Classifier credentials' ) ;
5968 } else {
@@ -145,14 +154,22 @@ module.exports = function(RED) {
145154
146155 node . performOperation = function ( msg , config , params ) {
147156 var p = new Promise ( function resolver ( resolve , reject ) {
148- const natural_language_classifier = new NaturalLanguageClassifierV1 ( {
149- username : username ,
150- password : password ,
151- version : 'v1' ,
152- headers : {
153- 'User-Agent' : pkg . name + '-' + pkg . version
154- }
155- } ) ;
157+ var natural_language_classifier = null ,
158+ serviceSettings = {
159+ username : username ,
160+ password : password ,
161+ version : 'v1' ,
162+ headers : {
163+ 'User-Agent' : pkg . name + '-' + pkg . version
164+ }
165+ } ;
166+
167+ if ( endpoint ) {
168+ serviceSettings . url = endpoint ;
169+ }
170+
171+ natural_language_classifier = new NaturalLanguageClassifierV1 ( serviceSettings ) ;
172+
156173 natural_language_classifier [ config . mode ] ( params , function ( err , response ) {
157174 if ( err ) {
158175 reject ( err ) ;
0 commit comments