Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
# Try to retrieve the config.json file from webapp
try:
config_url = webapp_url + 'config.json'
config_res = requests.get(config_url)
except ConnectionError as e:
msg = 'Failed to connect to ' + webapp_url + \
' . Please verify your organization ID and ensure you are connected to the internet.'
log(msg, error=True)
raise ConfigError(msg, e)
# Check for a successful response
if config_res.status_code != 200:
msg = 'Request to retrieve configuration file ' + config_url + \
' failed with status_code ' + str(config_res.status_code) + ' . ' + CONTACT_MSG
log(msg, error=True)
raise ConfigError(msg + ' Response (truncated):\n' +
config_res.text[:100])
# Parse JSON configuration
try:
config_json = config_res.json()
except JSONDecodeError as e:
msg = 'Failed to parse JSON configuration file from ' + \
config_url + ' . ' + CONTACT_MSG
log(msg, error=True)
raise ConfigError(msg + ' Response (truncated):\n' +
config_res.text[:100], e)
# Extract API URL
try:
api_url = config_json[API_URL_KEY]
except KeyError as e:
# Check for a successful response
if config_res.status_code != 200:
msg = 'Request to retrieve configuration file ' + config_url + \
' failed with status_code ' + str(config_res.status_code) + ' . ' + CONTACT_MSG
log(msg, error=True)
raise ConfigError(msg + ' Response (truncated):\n' +
config_res.text[:100])
# Parse JSON configuration
try:
config_json = config_res.json()
except JSONDecodeError as e:
msg = 'Failed to parse JSON configuration file from ' + \
config_url + ' . ' + CONTACT_MSG
log(msg, error=True)
raise ConfigError(msg + ' Response (truncated):\n' +
config_res.text[:100], e)
# Extract API URL
try:
api_url = config_json[API_URL_KEY]
except KeyError as e:
msg = 'Failed to extract API_URL from JSON configuration file ' + \
config_url + ' . ' + CONTACT_MSG
log(msg, error=True)
raise ConfigError(msg, e)
# Save details to credentials file
write_org_id(org_id)
write_api_url(api_url)
write_webapp_url(webapp_url)
config_json = config_res.json()
except JSONDecodeError as e:
msg = 'Failed to parse JSON configuration file from ' + \
config_url + ' . ' + CONTACT_MSG
log(msg, error=True)
raise ConfigError(msg + ' Response (truncated):\n' +
config_res.text[:100], e)
# Extract API URL
try:
api_url = config_json[API_URL_KEY]
except KeyError as e:
msg = 'Failed to extract API_URL from JSON configuration file ' + \
config_url + ' . ' + CONTACT_MSG
log(msg, error=True)
raise ConfigError(msg, e)
# Save details to credentials file
write_org_id(org_id)
write_api_url(api_url)
write_webapp_url(webapp_url)