@@ -6,17 +6,57 @@ const request = require('request'),
6
6
7
7
let printSpecsStatus = ( bsConfig , buildId ) => {
8
8
new Promise ( ( resolve , reject ) => {
9
- let backOffFactor = 3 ; // 3 seconds
10
- let options = {
11
- url : `${ config . buildUrl } ${ buildId } ` ,
12
- auth : {
13
- user : bsConfig . auth . username ,
14
- password : bsConfig . auth . access_key
15
- } ,
16
- headers : {
17
- 'Content-Type' : 'application/json' ,
18
- "User-Agent" : utils . getUserAgent ( ) ,
9
+ poll ( data , 2000 , 10000 ) . then ( resolve ( data ) ) ;
10
+ } ) ;
11
+ }
12
+
13
+ let poll = ( interval , timeout ) => {
14
+ data = [ ]
15
+
16
+ return pollRecursive ( )
17
+ . timeout ( timeout )
18
+ . catch ( Promise . TimeoutError , function ( ) {
19
+ return false ;
20
+ } ) ;
21
+ }
22
+
23
+ let pollRecursive = ( ) => {
24
+ return signal ( ) ? Promise . resolve ( true ) : Promise . delay ( interval ) . then ( pollRecursive ) ;
25
+ }
26
+
27
+ let makeReqest = ( ) => {
28
+ let backOffFactor = 3 ; // 3 seconds
29
+ let options = {
30
+ url : `${ config . buildUrl } ${ buildId } ` ,
31
+ auth : {
32
+ user : bsConfig . auth . username ,
33
+ password : bsConfig . auth . access_key
34
+ } ,
35
+ headers : {
36
+ 'Content-Type' : 'application/json' ,
37
+ "User-Agent" : utils . getUserAgent ( ) ,
38
+ }
39
+ }
40
+ request . post ( options , function ( err , resp , body ) {
41
+ if ( err ) {
42
+ reject ( err ) ;
43
+ } else {
44
+ try {
45
+ data = JSON . parse ( body ) ;
46
+ } catch ( error ) {
47
+ data = null ;
19
48
}
49
+ if ( resp . statusCode != 202 ) {
50
+ if ( data ) {
51
+ reject ( `${ Constants . userMessages . BUILD_FAILED } Error: ${ build . message } ` ) ;
52
+ } else {
53
+ reject ( Constants . userMessages . BUILD_FAILED ) ;
54
+ }
55
+ } else {
56
+ resolve ( build ) ;
57
+ }
58
+ resolve ( build ) ;
59
+
20
60
}
21
61
} ) ;
22
62
}
0 commit comments