25 lines
761 B
Python
25 lines
761 B
Python
|
import requests
|
||
|
import time
|
||
|
import logging
|
||
|
|
||
|
|
||
|
class HatecomputersDNSAdapter:
|
||
|
def __init__(self, endpoint, api_key, logger=None):
|
||
|
self.endpoint = endpoint
|
||
|
self.session = requests.Session()
|
||
|
self.headers = {"Authorization": "Bearer " + api_key}
|
||
|
self.logger = logger or logging.getLogger(__name__)
|
||
|
|
||
|
def post_record(self, record):
|
||
|
endpoint = self.endpoint + "/dns"
|
||
|
self.logger.info(f"adding {record} to {endpoint}")
|
||
|
|
||
|
self.session.post(endpoint, headers=self.headers, data=record)
|
||
|
|
||
|
def post_records(self, dns_entries, eepy_time=0.25):
|
||
|
for record in dns_entries:
|
||
|
self.post_record(record)
|
||
|
|
||
|
self.logger.info(f"sleeping for {eepy_time}")
|
||
|
time.sleep(eepy_time)
|