@@ -11,6 +11,7 @@ const archiver = require('archiver');
11
11
const request = require ( 'request' ) ;
12
12
const logger = require ( '../../lib/logger.js' ) ;
13
13
const globalConfig = require ( '../../lib/global-config.js' ) ;
14
+ const instance = require ( '../../lib/instance.js' ) ;
14
15
const url = require ( 'url' ) ;
15
16
16
17
module . exports = function ( env , clientConfig ) {
@@ -40,22 +41,44 @@ module.exports = function(env, clientConfig) {
40
41
}
41
42
}
42
43
43
- function sendRequest ( feedbackUrl , text , archive ) {
44
- return new Promise ( ( resolve , reject ) => {
45
- if ( ! feedbackUrl ) {
46
- var blnUrl = clientConfig . has ( 'blnUrl' ) ? clientConfig . get ( 'blnUrl' ) : env . blnUrl ;
44
+ function getFeedbackUrl ( ) {
45
+ var endpoint = '/api/v2/feedbacks'
46
+ var blnUrl = clientConfig . has ( 'blnUrl' ) ? clientConfig . get ( 'blnUrl' ) : env . blnUrl ;
47
47
48
- if ( ! blnUrl ) {
49
- logger . error ( 'blnUrl is neither set in clientConfig nor in env, can\'t send feedback' , {
50
- category : 'feedback' ,
51
- } ) ;
48
+ if ( blnUrl ) return `${ blnUrl } ${ endpoint } ` ;
52
49
53
- return reject ( ) ;
54
- }
50
+ logger . debug ( 'blnUrl is not set, trying to get url from lastActiveInstance' , {
51
+ category : 'feedback' ,
52
+ lastActiveInstance : instance . getLastActiveInstance ( )
53
+ } ) ;
54
+
55
+ try {
56
+ var last = instance . getInstanceByName ( instance . getLastActiveInstance ( ) ) ;
57
+
58
+ if ( last && last . server ) {
59
+ return `${ last . server } ${ endpoint } ` ;
60
+ }
61
+ } catch ( err ) {
62
+ logger . error ( 'could not get lastActiveinstance' , { category : 'feedback' , err} ) ;
63
+ }
64
+
65
+ return
66
+ }
67
+
68
+ function sendRequest ( text , archive ) {
69
+ return new Promise ( ( resolve , reject ) => {
70
+ var feedbackUrl = getFeedbackUrl ( ) ;
55
71
56
- feedbackUrl = `${ blnUrl } /api/v2/feedbacks` ;
72
+ if ( ! feedbackUrl ) {
73
+ logger . error ( 'blnUrl is not set, can\'t send feedback' , {
74
+ category : 'feedback' ,
75
+ } ) ;
76
+
77
+ return reject ( ) ;
57
78
}
58
79
80
+ logger . info ( 'Sending feedback' , { category : 'feedback' , feedbackUrl} ) ;
81
+
59
82
var formData = { feedback : text } ;
60
83
61
84
if ( archive ) {
@@ -125,8 +148,7 @@ module.exports = function(env, clientConfig) {
125
148
126
149
archive . finalize ( ) ;
127
150
128
- // TODO pixtron - iss-217 - document configuration change env.autoReportPutUrl -> env.autoReportUrl
129
- sendRequest ( env . autoReportUrl , text , archive )
151
+ sendRequest ( text , archive )
130
152
}
131
153
132
154
@@ -179,8 +201,7 @@ module.exports = function(env, clientConfig) {
179
201
} ) ;
180
202
}
181
203
182
- // TODO pixtron - iss-217 - document configuration change env.feedbackPutUrl -> env.feedbackUrl
183
- sendRequest ( env . feedbackUrl , text , archive ) . then ( resolve ) . catch ( reject )
204
+ sendRequest ( text , archive ) . then ( resolve ) . catch ( reject )
184
205
} ) ;
185
206
}
186
207
0 commit comments