import requests
import time
import datetime
import logging
from requests.auth import HTTPBasicAuth
import utils

config = utils.get_config()

# Set up logging
logging.basicConfig(filename=datetime.datetime.now().strftime('%Y-%m-%d.log'), level=logging.INFO)

# Slack webhook URL
webhook_url = config['webhook_url']

# URL to send GET request
url = config['target_url']

# Basic authentication credentials
username = config['basic_user_name']
password = config['basic_password']

while True:
    try:
        response = requests.get(url, auth=HTTPBasicAuth(username, password))

        # Check the status of the request
        if response.status_code == 200:
            log_message = str(datetime.datetime.now()) + " Response: " + str(response.json())
            logging.info(log_message)
            print(log_message)

        else:
            log_message = "Request failed. Status code: " + str(response.status_code)
            logging.error(log_message)
            print(log_message)
            requests.post(webhook_url, json={"text": log_message})

        time.sleep(5)  # 10 seconds

    except Exception as e:
        log_message = "An error occurred: " + str(e)
        logging.error(log_message)
        print(log_message)
        requests.post(webhook_url, json={"text": log_message})
