@@ -8,6 +8,15 @@ var Promise = require('bluebird');
88var Phantom = Promise . promisifyAll ( require ( 'node-phantom-simple' ) ) ;
99var PhantomError = require ( 'node-phantom-simple/headless_error' ) ;
1010
11+ var credentials = Object . keys ( env )
12+ . filter ( function ( key ) { return key . indexOf ( 'ORACLE_LOGIN_' ) == 0 } )
13+ . map ( function ( key ) { return [ key . substr ( 13 ) , env [ key ] ] } ) ;
14+
15+ if ( credentials . length <= 0 ) {
16+ console . error ( "Missing ORACLE_LOGIN environment variables!" ) ;
17+ process . exit ( 1 ) ;
18+ }
19+
1120if ( env [ 'ORACLE_ZIP_DIR' ] ) {
1221 var directory = env [ 'ORACLE_ZIP_DIR' ] ;
1322 if ( ! fs . existsSync ( directory ) ) {
@@ -72,11 +81,18 @@ Phantom.createAsync({ parameters: { 'ssl-protocol': 'tlsv1' } }).then(function (
7281 } )
7382 . then ( function ( form ) {
7483 return browser . exitPromise ( ) . then ( function ( ) {
75- for ( var key in env ) {
76- if ( key . indexOf ( 'ORACLE_LOGIN_' ) == 0 && env . hasOwnProperty ( key ) ) {
77- var name = key . substr ( 13 ) + '=' ;
78- form . data = form . data . replace ( name , name + env [ key ] ) ;
79- }
84+ var unapplied = credentials . filter ( function ( tuple ) {
85+ var applied = false ;
86+ form . data = form . data . replace ( tuple [ 0 ] + '=' , function ( name ) {
87+ applied = true ;
88+ return name + encodeURIComponent ( tuple [ 1 ] ) ;
89+ } ) ;
90+ return ! applied ;
91+ } )
92+ . map ( function ( tuple ) { return tuple [ 0 ] } ) ;
93+
94+ if ( unapplied . length > 0 ) {
95+ console . warn ( "Unable to use all ORACLE_LOGIN environment variables: %j" , unapplied ) ;
8096 }
8197
8298 var cmd = [ 'curl' , [
0 commit comments