diff options
author | Eric Wong <e@80x24.org> | 2016-06-17 21:32:59 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-06-18 00:22:22 +0000 |
commit | 4af9fd9c5e46eed341a535f37d54cf228303326c (patch) | |
tree | 7df64098266acc2cbb501b7cc6d5a6c7dc0815ae /t | |
parent | aab9613eb8f335c1cfeaec37c0794656a3cbcfee (diff) | |
download | public-inbox-4af9fd9c5e46eed341a535f37d54cf228303326c.tar.gz |
This will allow us to commonalize HTML generation in the future and is the start of moving existing HTML generation to a "pull" streaming model (from the existing "push" one). Using the getline/close pull model is superior to the existing $fh->write streaming as it allows us to throttle response generation based on backpressure from slow clients.
Diffstat (limited to 't')
-rw-r--r-- | t/view.t | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -5,12 +5,24 @@ use warnings; use Test::More; use Email::MIME; use PublicInbox::View; +use Plack::Util; + +# FIXME: make this test less fragile +my $ctx = { + env => { HTTP_HOST => 'example.com', 'psgi.url_scheme' => 'http' }, + -inbox => Plack::Util::inline_object( + name => 'test', + search => sub { undef }, + cloneurl => sub {[]}, + description => sub { '' }), +}; +$ctx->{-inbox}->{-primary_address} = 'test@example.com'; sub msg_html ($) { my ($mime) = @_; my $s = ''; - my $body = PublicInbox::View::msg_html(undef, $mime); + my $body = PublicInbox::View::msg_html($ctx, $mime); while (defined(my $buf = $body->getline)) { $s .= $buf; } |