HTTP::EngineでのMiddlewareのAPIのイメージ

HTTP::Engine->new(
    interface => {
        module => 'ServerSimple',
        args   => {
            host => 'example',
            port => '80',
        },  
        request_handler => sub {
            # Implement me!        
        },  
    },
    'middlewares' => [
        { 'module' => 'DebugScreen' },
        {   
          'module' => 'Auth::Basic',
          'config' => {
                'password' => 'hige',
                'user'     => 'hoge'
           },
        }   
    ],
);
package HTTPx::Middleware;
sub handle_request {
}
1;

HTTPx::Middlewareのインターフェースは、HTTP::Engine内のrequest_handlerをwrapする処理をどう書くかと、hook pointに依存するけれど。