Middlewareにもconfig渡したくなりそう
Middlewareにもconfig渡すようにしてみると、使いやすいんじゃないかという気がした。イメージ的には、以下のようなイメージ。こうすると、handlerもconstructorに渡したくなるような気もする。。
sub build_request_handler { my ($self, $handler, $args) = @_; my $request_handler = $handler; for my $middleware ( @{ $self->middlewares } ) { Mouse::load_class($middleware); $middleware->new($args->{config}); $request_handler = $middleware->wrap($request_handler); } $request_handler; }