No reason to use the ->getline interface for small responses.
---
 lib/PublicInbox/ExtMsg.pm    | 4 ++--
 lib/PublicInbox/WwwStream.pm | 7 ++++---
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/lib/PublicInbox/ExtMsg.pm b/lib/PublicInbox/ExtMsg.pm
index 44884ad2..74a95cf9 100644
--- a/lib/PublicInbox/ExtMsg.pm
+++ b/lib/PublicInbox/ExtMsg.pm
@@ -158,7 +158,7 @@ sub ext_msg {
        $ctx->{-html_tip} = $s .= '</pre>';
        $ctx->{-title_html} = $title;
        $ctx->{-upfx} = '../';
-       PublicInbox::WwwStream->response($ctx, $code);
+       PublicInbox::WwwStream::oneshot($ctx, $code);
 }
 
 sub ext_urls {
@@ -196,7 +196,7 @@ sub exact {
                                        qq(<a\nhref="$u$href/">$u$html/</a>\n)
                                } @$found),
                        $ext_urls, '</pre>');
-       PublicInbox::WwwStream->response($ctx, $code);
+       PublicInbox::WwwStream::oneshot($ctx, $code);
 }
 
 1;
diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm
index 2dd8b157..fceef745 100644
--- a/lib/PublicInbox/WwwStream.pm
+++ b/lib/PublicInbox/WwwStream.pm
@@ -28,7 +28,7 @@ sub new {
 
        bless {
                nr => 0,
-               cb => $cb || \&close,
+               cb => $cb,
                ctx => $ctx,
                base_url => base_url($ctx),
        }, $class;
@@ -175,8 +175,9 @@ sub oneshot {
                ctx => $ctx,
                base_url => base_url($ctx),
        }, __PACKAGE__;
-       [ $code, [ 'Content-Type', 'text/html; charset=UTF-8' ],
-               [ _html_top($self), $$strref, _html_end($self) ] ]
+       [ $code, [ 'Content-Type', 'text/html; charset=UTF-8' ], [
+               _html_top($self), $strref ? $$strref : (), _html_end($self)
+       ] ]
 }
 
 1;
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to