Browse Source

update response route by mime type

CPP-GTK4
yggverse 3 months ago
parent
commit
ebadc548c0
  1. 71
      src/app/browser/main/tab/page.cpp

71
src/app/browser/main/tab/page.cpp

@ -370,33 +370,21 @@ void Page::navigation_reload( @@ -370,33 +370,21 @@ void Page::navigation_reload(
action__update->activate();
// Parse meta
Socket::Client::Gemini::Response::Status status;
Socket::Client::Gemini::Response::Status status; // @TODO make page global?
Socket::Client::Gemini::Response::Match::meta(
buffer,
status,
mime
);
// Try detect mime by file extension on still undefined @TODO
// MIME type not detected
if (mime == MIME::UNDEFINED)
{
// Try detect by file extension
if (Glib::str_has_suffix(g_uri_get_path(uri), ".gmi"))
{
mime = MIME::TEXT_GEMINI;
}
else
{
// Update
title = _("Oops");
description = _("MIME type not supported");
progress_fraction = 1;
action__update->activate();
}
}
// Route by status code
@ -404,6 +392,42 @@ void Page::navigation_reload( @@ -404,6 +392,42 @@ void Page::navigation_reload(
{
case Socket::Client::Gemini::Response::Status::SUCCESS:
// Route by MIME
switch (mime)
{
case MIME::TEXT_GEMINI:
progress_fraction = 1;
// Set content driver
pageContent->update(
page::Content::TEXT_GEMINI,
buffer,
uri
);
// Update title on detected by document provider
if (!pageContent->get_title().empty())
{
title = pageContent->get_title();
}
action__update->activate();
break;
default:
// Update
title = _("Oops");
description = _("MIME type not supported");
progress_fraction = 1;
action__update->activate();
}
// Update
title = _("Done"); // @TODO page title
@ -411,23 +435,6 @@ void Page::navigation_reload( @@ -411,23 +435,6 @@ void Page::navigation_reload(
uri
);
progress_fraction = 1;
// Set content driver
pageContent->update(
page::Content::TEXT_GEMINI,
buffer,
uri
);
// Update title on detected by document provider
if (!pageContent->get_title().empty())
{
title = pageContent->get_title();
}
action__update->activate();
break;
// @TODO other statuses..

Loading…
Cancel
Save