fix connection data update

This commit is contained in:
yggverse 2024-07-18 14:49:01 +03:00
parent 300cc6b8a2
commit 5b821996c5
3 changed files with 158 additions and 45 deletions

View file

@ -36,6 +36,8 @@ class Gemini
)
);
// @TODO reset title, mime, data
// Route status code
// https://geminiprotocol.net/docs/protocol-specification.gmi#status-codes
switch ($response->getCode())
@ -70,11 +72,6 @@ class Gemini
case 20: // ok
// Update content data
$this->_connection->setData(
$response->getBody()
);
// Detect MIME type
switch (true)
{
@ -93,10 +90,31 @@ class Gemini
default: $mime = Filesystem::MIME_TEXT_GEMINI;
}
// Set MIME
$this->_connection->setMime(
$mime
);
// Set title
$this->_connection->setTitle(
$address->getHost()
);
// Set subtitle
$this->_connection->setSubtitle(
$response->getMeta()
);
// Set tooltip
$this->_connection->setTooltip(
$address->get()
);
// Update content data
$this->_connection->setData(
$response->getBody()
);
break;
case 31: // redirect
@ -106,6 +124,17 @@ class Gemini
_('Redirect...')
);
$this->_connection->setSubtitle(
$response->getMeta()
);
$this->_connection->setTooltip(
sprintf(
_('Redirect to %s'),
$response->getMeta()
)
);
$this->_connection->setData(
sprintf(
'=> %s',
@ -113,6 +142,10 @@ class Gemini
)
);
$this->_connection->setMime(
Filesystem::MIME_TEXT_GEMINI
);
break;
default:
@ -121,6 +154,24 @@ class Gemini
_('Oops!')
);
$this->_connection->setSubtitle(
sprintf(
'Could not open request (code: %d)',
intval(
$response->getCode()
)
)
);
$this->_connection->setTooltip(
sprintf(
'Could not open request (code: %d)',
intval(
$response->getCode()
)
)
);
$this->_connection->setData(
sprintf(
'Could not open request (code: %d)',