Skip to content

Commit 562fb34

Browse files
committed
Added argparse option to select OpenAPI spec file
1 parent a50331c commit 562fb34

File tree

1 file changed

+27
-15
lines changed

1 file changed

+27
-15
lines changed

vAPI.py

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import logging
2424
import sys
2525
import getopt
26+
import argparse
2627
from lxml import etree
2728

2829

@@ -367,20 +368,31 @@ def create_widget_reservation():
367368
datefmt="%Y-%m-%dT%H:%M:%S",
368369
level=logging.INFO,
369370
)
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))
371391
logger = logging.getLogger("vAPI")
372392
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

Comments
 (0)