@@ -21,7 +21,6 @@ var app = express();
21
21
var server = require ( "http" ) . createServer ( app ) ;
22
22
var compress = require ( 'compression' ) ; // Express compression module
23
23
var moment = require ( 'moment' ) ; // Time library http://moment.js
24
-
25
24
var metadata = require ( './metadata.js' ) . metadata ;
26
25
27
26
// Test library
@@ -43,10 +42,10 @@ var argv = require('yargs')
43
42
. default
44
43
( {
45
44
'port' : 8999 ,
46
- 'catalogs' : "TestData" ,
47
45
'catalog' : "TestData" ,
48
- 'prefixes ' : '' ,
46
+ 'catalogs ' : '' ,
49
47
'prefix' : '' ,
48
+ 'prefixes' : '' ,
50
49
'verifier' : "http://hapi-server.org/verify"
51
50
} )
52
51
. option ( 'help' )
@@ -57,10 +56,10 @@ var argv = require('yargs')
57
56
. epilog ( 'For more details, see https://github.com/hapi-server/server-nodejs/blob/master/README.md' )
58
57
. argv ;
59
58
60
- var FORCE = argv . force === "true" ; // Start server if metadata invalid
59
+ var FORCE = argv . force || false ; // Start server if metadata invalid
61
60
var VERIFIER = argv . verifier ;
62
- var CATALOG = argv . catalog || argv . catalogs ;
63
- var PREFIX = argv . prefix || argv . prefixes ;
61
+ var CATALOG = argv . catalogs || argv . catalog ;
62
+ var PREFIX = argv . prefixes || argv . prefix ;
64
63
var OPEN = argv . open || false ; // Open browser window on start
65
64
66
65
var CATALOGS = CATALOG . split ( "," ) ;
@@ -104,26 +103,26 @@ if (CATALOGS.length > 1) {
104
103
. toString ( )
105
104
. replace ( / _ _ C A T A L O G _ L I S T _ _ / , JSON . stringify ( CATALOGS ) ) ;
106
105
107
- app . get ( '/' , function ( req , res ) { res . send ( html ) } )
106
+ app . get ( '/' , function ( req , res ) { res . send ( html ) ; } ) ;
108
107
}
109
108
110
109
for ( var i = 0 ; i < CATALOGS . length ; i ++ ) {
111
110
console . log ( ds ( ) + clc . green ( "Initializing http://localhost:" + argv . port + PREFIXES [ i ] + "/hapi" ) ) ;
112
111
console . log ( ds ( ) + "Server can be tested/verified on the command line using" ) ;
113
112
console . log ( ds ( ) + " node verify.js --url 'http://localhost:" + argv . port + PREFIXES [ i ] + "/hapi'" ) ;
114
- console . log ( ds ( ) + "Server can be tested/verified on localhost page by starting server using" ) ;
115
- console . log ( ds ( ) + " node server .js --verifier 'http://localhost: 9000/' " ) ;
116
- console . log ( ds ( ) + "and then starting the verifier server using" )
117
- console . log ( ds ( ) + " node verify.js --port 9000" ) ;
118
-
113
+ console . log ( ds ( ) + "Server can be tested/verified on localhost page using" ) ;
114
+ console . log ( ds ( ) + " node verify .js --port 9000 & " ) ;
115
+ console . log ( ds ( ) + " node server.js "
116
+ + process . argv . slice ( 2 ) . join ( ' ' )
117
+ + " --verifier 'http://localhost:9000/'" ) ;
119
118
// Initialize the API
120
119
apiInit ( CATALOGS [ i ] , PREFIXES [ i ] , i == CATALOGS . length - 1 ) ;
121
120
// Read static JSON files
122
121
metadata ( CATALOGS [ i ] , HAPIVERSION , FORCE , VERIFIER ) ;
123
122
}
124
123
125
- // TODO: Can server start before apiInit() and metadata() finished?
126
- // If so, prevent it.
124
+ // TODO: Server can start before apiInit() and metadata() finished.
125
+ // Use await apiInit() and await metadata()
127
126
app . listen ( argv . port , function ( ) {
128
127
if ( CATALOGS . length > 1 ) {
129
128
var url = 'http://localhost:' + argv . port ;
@@ -313,17 +312,17 @@ function apiInit(catalog,PREFIX,last) {
313
312
} )
314
313
315
314
// The following must always be after last app.get() statement.
316
- // Any requests not matching above patterns will trigger errorHandler() call.
315
+ // Any requests not matching above patterns will trigger
316
+ // errorHandler() call.
317
317
if ( last ) {
318
318
// Fall through
319
319
app . get ( '*' , function ( req , res ) {
320
320
if ( PREFIXES . length == 1 ) {
321
- res . send ( "Invalid URL. See <a href='" + PREFIX + "/hapi'>" + PREFIX + "/hapi</a>" ) ;
321
+ res . send ( "Invalid URL. See <a href='" + PREFIX + "/hapi'>" + PREFIX . substr ( 1 ) + "/hapi</a>" ) ;
322
322
} else {
323
323
res . send ( "Invalid URL. See <a href='/'>start page</a>" ) ;
324
324
}
325
325
} ) ;
326
-
327
326
app . use ( errorHandler ) ;
328
327
}
329
328
}
@@ -521,7 +520,6 @@ function data(req,res,catalog,header,include) {
521
520
}
522
521
}
523
522
} )
524
-
525
523
}
526
524
527
525
function prod ( arr ) { return arr . reduce ( function ( a , b ) { return a * b ; } ) }
@@ -859,9 +857,9 @@ function error(req,res,code,message) {
859
857
var errs = {
860
858
"1400" : { status : 400 , "message" : "HAPI 1400: user input error" } ,
861
859
"1401" : { status : 400 , "message" : "HAPI 1401: unknown request field" } ,
862
- "1402" : { status : 400 , "message" : "HAPI 1402: error in start time" } ,
863
- "1403" : { status : 400 , "message" : "HAPI 1403: error in stop time" } ,
864
- "1404" : { status : 400 , "message" : "HAPI 1404: start time equal to or after stop time" } ,
860
+ "1402" : { status : 400 , "message" : "HAPI 1402: error in time.min " } ,
861
+ "1403" : { status : 400 , "message" : "HAPI 1403: error in time.min " } ,
862
+ "1404" : { status : 400 , "message" : "HAPI 1404: time.min equal to or after time.max " } ,
865
863
"1405" : { status : 400 , "message" : "HAPI 1405: time outside valid range" } ,
866
864
"1406" : { status : 404 , "message" : "HAPI 1406: unknown dataset id" } ,
867
865
"1407" : { status : 404 , "message" : "HAPI 1407: unknown dataset parameter" } ,
0 commit comments