line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Kelp::Module::Symbiosis::_Util; |
2
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
our $VERSION = '1.12'; |
4
|
|
|
|
|
|
|
|
5
|
6
|
|
|
6
|
|
83
|
use v5.10; |
|
6
|
|
|
|
|
23
|
|
6
|
6
|
|
|
6
|
|
35
|
use warnings; |
|
6
|
|
|
|
|
75
|
|
|
6
|
|
|
|
|
200
|
|
7
|
6
|
|
|
6
|
|
59
|
use Plack::Util; |
|
6
|
|
|
|
|
13
|
|
|
6
|
|
|
|
|
1511
|
|
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
sub wrap |
10
|
|
|
|
|
|
|
{ |
11
|
47
|
|
|
47
|
0
|
916
|
my ($self, $app) = @_; |
12
|
|
|
|
|
|
|
|
13
|
47
|
|
|
|
|
75
|
for (@{$self->middleware}) { |
|
47
|
|
|
|
|
135
|
|
14
|
8
|
|
|
|
|
68
|
my ($class, $args) = @$_; |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
# Same middleware loading procedure as Kelp |
17
|
8
|
50
|
66
|
|
|
48
|
next if $self->{_loaded_middleware}{$class}++ && !$ENV{KELP_TESTING}; |
18
|
|
|
|
|
|
|
|
19
|
8
|
|
|
|
|
38
|
my $mw = Plack::Util::load_class($class, "Plack::Middleware"); |
20
|
8
|
|
50
|
|
|
2837
|
$app = $mw->wrap($app, %{$args // {}}); |
|
8
|
|
|
|
|
98
|
|
21
|
|
|
|
|
|
|
} |
22
|
|
|
|
|
|
|
|
23
|
47
|
|
|
|
|
626
|
return $app; |
24
|
|
|
|
|
|
|
} |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
sub load_middleware |
27
|
|
|
|
|
|
|
{ |
28
|
14
|
|
|
14
|
0
|
37
|
my ($self, %args) = @_; |
29
|
|
|
|
|
|
|
|
30
|
14
|
|
|
|
|
50
|
my $middleware = $self->middleware; |
31
|
14
|
|
|
|
|
26
|
foreach my $mw (@{$args{middleware}}) { |
|
14
|
|
|
|
|
37
|
|
32
|
3
|
|
|
|
|
8
|
my $config = $args{middleware_init}{$mw}; |
33
|
3
|
|
|
|
|
11
|
push @$middleware, [$mw, $config]; |
34
|
|
|
|
|
|
|
} |
35
|
|
|
|
|
|
|
|
36
|
14
|
|
|
|
|
41
|
return; |
37
|
|
|
|
|
|
|
} |
38
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
1; |