29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
from sanic.log import logger
|
|
from sanic.response import json
|
|
|
|
from bifrost.digital_ocean import update_domain
|
|
|
|
|
|
async def update_view(request):
|
|
logger.info('Here is your log')
|
|
if 'domain' not in request.args or len(request.args['domain']) != 1:
|
|
return json({"message": "Domain error"})
|
|
domain = request.args['domain'][0]
|
|
if 'ip' in request.args and len(request.args['ip']) == 1:
|
|
current_ip = request.args['ip'][0]
|
|
else:
|
|
if 'X-Forwarded-For' in request.headers:
|
|
current_ip = request.headers['X-Forwarded-For']
|
|
else:
|
|
current_ip = request.ip
|
|
name, domain = domain.split('.', maxsplit=1)
|
|
update_domain(domain, name, current_ip, request.app.config.API_URL_BASE, request.app.config.API_TOKEN, logger)
|
|
return json({"domain": domain, "name": name, "current_ip": current_ip, "api_base": request.app.config.API_URL_BASE, "api_token": request.app.config.API_TOKEN})
|
|
|
|
|
|
# @forbidden_view_config()
|
|
# def basic_challenge(request):
|
|
# response = HTTPUnauthorized()
|
|
# response.headers.update(forget(request))
|
|
# return response
|