mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-04-01 00:55:28 +00:00
redirect to gemini:// on scheme not provided
This commit is contained in:
parent
09542c5134
commit
a064778d68
3 changed files with 46 additions and 3 deletions
|
|
@ -54,7 +54,6 @@ Page::~Page()
|
|||
|
||||
void Page::update()
|
||||
{
|
||||
// Route by request scheme
|
||||
if ("file" == navbar->get_request_scheme())
|
||||
{
|
||||
// @TODO
|
||||
|
|
@ -115,8 +114,36 @@ void Page::update()
|
|||
);
|
||||
}
|
||||
|
||||
// Scheme not found but host provided, redirect to gemini://
|
||||
else if (!navbar->get_request_host().empty())
|
||||
{
|
||||
std::string request = "gemini://";
|
||||
|
||||
request += navbar->get_request_host(); // @TODO validate
|
||||
|
||||
if (!navbar->get_request_port().empty())
|
||||
{
|
||||
request += std::stoi(
|
||||
navbar->get_request_port()
|
||||
);
|
||||
}
|
||||
|
||||
request += navbar->get_request_path();
|
||||
|
||||
if (!navbar->get_request_query().empty())
|
||||
{
|
||||
request += "?" + navbar->get_request_query();
|
||||
}
|
||||
|
||||
navbar->set_request(
|
||||
request
|
||||
);
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
// @TODO
|
||||
// @TODO search request
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue