|
23 | 23 | import logging
|
24 | 24 | import sys
|
25 | 25 | import getopt
|
| 26 | +import argparse |
26 | 27 | from lxml import etree
|
27 | 28 |
|
28 | 29 |
|
@@ -367,20 +368,31 @@ def create_widget_reservation():
|
367 | 368 | datefmt="%Y-%m-%dT%H:%M:%S",
|
368 | 369 | level=logging.INFO,
|
369 | 370 | )
|
370 |
| - logging.info("Starting vAPI") |
| 371 | + parser = argparse.ArgumentParser() |
| 372 | + parser.add_argument( |
| 373 | + "-p", dest="port", type=int, help="Listening port", default=8081 |
| 374 | + ) |
| 375 | + parser.add_argument( |
| 376 | + "-s", |
| 377 | + dest="oasfile", |
| 378 | + type=str, |
| 379 | + help="OpenAPI specification YAML file path", |
| 380 | + default="vAPI.yaml", |
| 381 | + ) |
| 382 | + args = parser.parse_args() |
| 383 | + myport = args.port |
| 384 | + oasfile = args.oasfile |
| 385 | + logging.info( |
| 386 | + 'app=vAPI action=success signature="Starting vAPI on port {} using {}"'.format( |
| 387 | + myport, oasfile |
| 388 | + ) |
| 389 | + ) |
| 390 | + logging.info("Starting vAPI on port {} using {}".format(myport, oasfile)) |
371 | 391 | logger = logging.getLogger("vAPI")
|
372 | 392 | try:
|
373 |
| - opts, args = getopt.getopt(sys.argv[1:], "hp:") |
374 |
| - except getopt.GetoptError: |
375 |
| - print("vAPI.py -p <port>") |
376 |
| - sys.exit(2) |
377 |
| - myport = 8081 |
378 |
| - for opt, arg in opts: |
379 |
| - if opt == "-h": |
380 |
| - print("vAPI.py -p <port>") |
381 |
| - sys.exit(0) |
382 |
| - elif opt == "-p": |
383 |
| - myport = int(arg) |
384 |
| - app = connexion.FlaskApp(__name__, specification_dir="openapi/") |
385 |
| - app.add_api("vAPI.yaml", arguments={"title": "Vulnerable API"}) |
386 |
| - app.run(port=myport, debug=True) |
| 393 | + app = connexion.FlaskApp(__name__, specification_dir="openapi/") |
| 394 | + app.add_api(oasfile, arguments={"title": "Vulnerable API"}) |
| 395 | + app.run(port=myport, debug=True) |
| 396 | + except Exception as e: |
| 397 | + logging.error('app=vAPI action=failure signature="Starting vAPI failed with exception: {}"'.format(str(e))) |
| 398 | + print("Starting vAPI failed with exception: {}".format(e)) |
0 commit comments