Browse Source

fix connection data update

PHP-GTK3
yggverse 4 months ago
parent
commit
5b821996c5
  1. 79
      src/Model/Connection/File.php
  2. 61
      src/Model/Connection/Gemini.php
  3. 49
      src/Model/Connection/Nex.php

79
src/Model/Connection/File.php

@ -23,27 +23,36 @@ class File
Address $address Address $address
): void ): void
{ {
switch (true)
{
case ( // is directory
$list = Filesystem::getList(
$address->getPath()
)
):
// Set MIME
$this->_connection->setMime(
Filesystem::MIME_TEXT_GEMINI
);
// Set title
$this->_connection->setTitle( $this->_connection->setTitle(
basename( basename(
$address->getPath() $address->getPath()
) )
); );
// Set subtitle
$this->_connection->setSubtitle( $this->_connection->setSubtitle(
$address->getPath() $address->getPath()
); );
// Set tooltip
$this->_connection->setTooltip( $this->_connection->setTooltip(
$address->getPath() $address->getPath()
); );
switch (true) // Set data
{
case ( // is directory
$list = Filesystem::getList(
$address->getPath()
)
):
$tree = []; $tree = [];
foreach ($list as $item) foreach ($list as $item)
@ -60,10 +69,6 @@ class File
); );
} }
$this->_connection->setMime(
Filesystem::MIME_TEXT_GEMINI
);
$this->_connection->setData( $this->_connection->setData(
implode( implode(
PHP_EOL, PHP_EOL,
@ -78,14 +83,6 @@ class File
) && is_readable( ) && is_readable(
$address->getPath() $address->getPath()
): ):
$this->_connection->setData(
strval(
file_get_contents(
$address->getPath()
)
)
);
// Detect MIME type // Detect MIME type
switch (true) switch (true)
{ {
@ -100,18 +97,62 @@ class File
default: $mime = Filesystem::MIME_TEXT_GEMINI; default: $mime = Filesystem::MIME_TEXT_GEMINI;
} }
// Set MIME
$this->_connection->setMime( $this->_connection->setMime(
$mime $mime
); );
// Set title
$this->_connection->setTitle(
basename(
$address->getPath()
)
);
// Set subtitle
$this->_connection->setSubtitle(
$mime
);
// Set tooltip
$this->_connection->setTooltip(
$address->getPath()
);
// Set data
$this->_connection->setData(
strval(
file_get_contents(
$address->getPath()
)
)
);
break; break;
default: default:
// Set MIME
$this->_connection->setMime(
Filesystem::MIME_TEXT_GEMINI
);
// Set title
$this->_connection->setTitle( $this->_connection->setTitle(
_('Failure') _('Failure')
); );
// Set subtitle
$this->_connection->setSubtitle(
$address->getPath()
);
// Set tooltip
$this->_connection->setTooltip(
$address->getPath()
);
// Set data
$this->_connection->setData( $this->_connection->setData(
_('Could not open location') _('Could not open location')
); );

61
src/Model/Connection/Gemini.php

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

49
src/Model/Connection/Nex.php

@ -33,16 +33,6 @@ class Nex
if ($response) if ($response)
{ {
$this->_connection->setTitle(
strval(
$address->getHost()
)
);
$this->_connection->setData(
$response
);
// Detect MIME type // Detect MIME type
switch (true) switch (true)
{ {
@ -57,23 +47,54 @@ class Nex
default: $mime = Filesystem::MIME_TEXT_PLAIN; default: $mime = Filesystem::MIME_TEXT_PLAIN;
} }
// Set MIME
$this->_connection->setMime( $this->_connection->setMime(
$mime $mime
); );
// Set title
$this->_connection->setTitle(
$address->getHost()
);
// Set subtitle
$this->_connection->setSubtitle(
$mime
);
// Set tooltip
$this->_connection->setTooltip(
$address->get()
);
$this->_connection->setData(
$response
);
} }
else else
{ {
$this->_connection->setMime(
Filesystem::MIME_TEXT_PLAIN
);
$this->_connection->setTitle( $this->_connection->setTitle(
_('Oops!') _('Oops!')
); );
$this->_connection->setData( $this->_connection->setSubtitle(
_('Could not open request') sprintf(
_('Could not open request - %s'),
$address->get()
)
); );
$this->_connection->setMime( $this->_connection->setTooltip(
Filesystem::MIME_TEXT_GEMINI $address->get()
);
$this->_connection->setData(
_('Could not open request')
); );
} }

Loading…
Cancel
Save