line |
true |
false |
branch |
166
|
7 |
0 |
unless ref $url |
168
|
0 |
7 |
if ($url =~ /\.(?:jpg|png|gif)\b/i) |
169
|
0 |
0 |
if $self->_new_link_object('image', $c, {'url', $url}, $cb) |
171
|
0 |
7 |
if ($url =~ /\.(?:mpg|mpeg|mov|mp4|ogv)\b/i) |
172
|
0 |
0 |
if $self->_new_link_object('video', $c, {'url', $url}, $cb) |
174
|
0 |
7 |
if ($url =~ /^spotify:\w+/i) |
175
|
0 |
0 |
if $self->_new_link_object('open.spotify', $c, {'url', $url}, $cb) |
177
|
3 |
4 |
unless ($url and $url->host) |
205
|
0 |
4 |
if ($etag and $etag eq ($c->req->headers->etag // '')) |
208
|
0 |
4 |
if (my $err = $tx->error) |
211
|
4 |
0 |
if (my $type = lc $url->host) |
214
|
0 |
4 |
if $self->_new_link_object($type, $c, {'_tx', $tx}, $cb) |
217
|
0 |
4 |
if $ct =~ m[^image/] and $self->_new_link_object('image', $c, {'url', $url, '_tx', $tx}, $cb) |
218
|
0 |
4 |
if $ct =~ m[^video/] and $self->_new_link_object('video', $c, {'url', $url, '_tx', $tx}, $cb) |
219
|
0 |
4 |
if $ct =~ m[^text/plain] and $self->_new_link_object('text', $c, {'url', $url, '_tx', $tx}, $cb) |
221
|
4 |
0 |
if ($ct =~ m[^text/html]) |
222
|
4 |
0 |
if $self->_new_link_object('html', $c, {'_tx', $tx}, $cb) |
231
|
4 |
4 |
unless my $class = $$self{'classes'}{$type} |
234
|
0 |
4 |
unless eval "require $class;1" |
306
|
1 |
7 |
if @_ == 1 |
311
|
23 |
0 |
if (my $route = $$config{'route'}) |
320
|
23 |
0 |
unless ref $route |
337
|
3 |
4 |
if ($err) { } |
|
0 |
4 |
elsif ($if_none_match and $if_none_match eq $link->etag) { } |
346
|
0 |
4 |
if $link->etag |
347
|
4 |
0 |
if not $link->etag and $$config{'max_age'} |