diff --git a/src/Entity/Browser/Container/Tab/Page/Content.php b/src/Entity/Browser/Container/Tab/Page/Content.php index 66f9ffb0..828f3976 100644 --- a/src/Entity/Browser/Container/Tab/Page/Content.php +++ b/src/Entity/Browser/Container/Tab/Page/Content.php @@ -185,14 +185,15 @@ class Content $request->getResponse() ); - // Process codes + // Route status codes + // https://geminiprotocol.net/docs/protocol-specification.gmi#status-codes switch ($response->getCode()) { case 10: // response expected $this->page->title->setValue( $address->getHost(), - sprintf( + $response->getMeta() ? $response->getMeta() : sprintf( 'response expected (code %d)', intval( $response->getCode() @@ -200,7 +201,9 @@ class Content ) ); - $this->page->response->show(); + $this->page->response->show( + $response->getMeta() // pass to placeholder + ); break; diff --git a/src/Entity/Browser/Container/Tab/Page/Response.php b/src/Entity/Browser/Container/Tab/Page/Response.php index 1a607309..3fca2b88 100644 --- a/src/Entity/Browser/Container/Tab/Page/Response.php +++ b/src/Entity/Browser/Container/Tab/Page/Response.php @@ -79,13 +79,26 @@ class Response $this->hide(); } - public function show(): void + public function show( + ?string $placeholder = null + ): void { + if ($placeholder) + { + $this->query->setPlaceholder( + $placeholder + ); + } + $this->gtk->show(); } public function hide(): void { + $this->query->setPlaceholder( + null + ); + $this->gtk->hide(); }