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 datetime import datetime
|
||||||
from typing import Optional, List
|
from typing import Optional, List
|
||||||
|
|
||||||
|
import requests
|
||||||
from flask import flash, redirect, url_for, render_template, Response, Blueprint
|
from flask import flash, redirect, url_for, render_template, Response, Blueprint
|
||||||
from flask.typing import ResponseReturnValue
|
from flask.typing import ResponseReturnValue
|
||||||
from flask_wtf import FlaskForm
|
from flask_wtf import FlaskForm
|
||||||
|
@ -35,6 +37,12 @@ class EditOriginForm(FlaskForm): # type: ignore
|
||||||
submit = SubmitField('Save Changes')
|
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", methods=['GET', 'POST'])
|
||||||
@bp.route("/new/<group_id>", methods=['GET', 'POST'])
|
@bp.route("/new/<group_id>", methods=['GET', 'POST'])
|
||||||
def origin_new(group_id: Optional[int] = None) -> ResponseReturnValue:
|
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():
|
if form.validate_on_submit():
|
||||||
origin = Origin()
|
origin = Origin()
|
||||||
origin.group_id = form.group.data
|
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.description = form.description.data
|
||||||
origin.auto_rotation = form.auto_rotate.data
|
origin.auto_rotation = form.auto_rotate.data
|
||||||
origin.smart = form.smart_proxy.data
|
origin.smart = form.smart_proxy.data
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue