portal: find end of redirect chain for origins
This commit is contained in:
parent
82225d419d
commit
87ec0a4285
1 changed files with 9 additions and 1 deletions
|
@ -1,6 +1,8 @@
|
|||
import urllib.parse
|
||||
from datetime import datetime
|
||||
from typing import Optional, List
|
||||
|
||||
import requests
|
||||
from flask import flash, redirect, url_for, render_template, Response, Blueprint
|
||||
from flask.typing import ResponseReturnValue
|
||||
from flask_wtf import FlaskForm
|
||||
|
@ -35,6 +37,12 @@ class EditOriginForm(FlaskForm): # type: ignore
|
|||
submit = SubmitField('Save Changes')
|
||||
|
||||
|
||||
def final_domain_name(domain_name) -> str:
|
||||
session = requests.Session()
|
||||
r = session.get(f"https://{domain_name}/", allow_redirects=True, timeout=10)
|
||||
return urllib.parse.urlparse(r.url).netloc
|
||||
|
||||
|
||||
@bp.route("/new", methods=['GET', 'POST'])
|
||||
@bp.route("/new/<group_id>", methods=['GET', 'POST'])
|
||||
def origin_new(group_id: Optional[int] = None) -> ResponseReturnValue:
|
||||
|
@ -43,7 +51,7 @@ def origin_new(group_id: Optional[int] = None) -> ResponseReturnValue:
|
|||
if form.validate_on_submit():
|
||||
origin = Origin()
|
||||
origin.group_id = form.group.data
|
||||
origin.domain_name = form.domain_name.data
|
||||
origin.domain_name = final_domain_name(form.domain_name.data)
|
||||
origin.description = form.description.data
|
||||
origin.auto_rotation = form.auto_rotate.data
|
||||
origin.smart = form.smart_proxy.data
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue