Site Handler
============
GET Requests
------------
Flowchart for GET requests handled by ``Handler.Site``:
.. mermaid::
flowchart TB
start([start])-->www_redirect{www?}
www_redirect-- no -->redirect_defined{redirect
defined?}
www_redirect-- yes -->www_redirect_yes([strip subdomain
and redirect])
redirect_defined-- no -->preferred_domain_redirect{preferred
domain?}
redirect_defined-- yes -->redirect_defined_yes([redirect to
defined destination])
preferred_domain_redirect-- yes -->get_page_data("load page and version
(see below)")
get_page_data-->vacancy_apply{vacancy apply
page?}
preferred_domain_redirect-- no -->preferred_domain_redirect_no([redirect to
preferred domain])
vacancy_apply-- no -->render
vacancy_apply-- yes -->vacancy_apply_external{external
apply URL?}
vacancy_apply_external-- yes -->vacancy_apply_external_yes([redirect to
external URL])
vacancy_apply_external-- no -->render([render page])
Loading of Page and Version:
.. mermaid::
flowchart TB
start([start])-->page_with_path{page with
path?}
page_with_path-- yes -->live_version{live version?}
page_with_path-- no -->load_404([load 404 page])
live_version-- yes -->page_has_template{page has
template?}
live_version-- no -->load_404
page_has_template-- no -->return_page([return page and live version])
page_has_template-- yes -->template_with_id{template
with ID?}
template_with_id-- yes -->template_live_version{live version
template?}
template_with_id-- no -->load_404
template_live_version-- yes -->return_template([return template page,
template live version,
and original page])
template_live_version-- no -->load_404