Furl

 view release on metacpan or  search on metacpan

t/100_low/32_proxy_auth.t  view on Meta::CPAN

        my $token_simple = "Basic " . encode_base64( "dankogai:kogaidan", "" );
        my $token_escape = "Basic " . encode_base64( 'dan@kogai:kogai/dan', "" );
        $proxy->push_filter(
            request => HTTP::Proxy::HeaderFilter::simple->new(
                sub {
                    my ( $self, $headers, $request ) = @_;
                    my $auth = $self->proxy->hop_headers->header('Proxy-Authorization') || '';

                    my $request_uri = $request->uri->as_string;
                    my $token = $request_uri =~ m{/escape$} ? $token_escape : $token_simple;
                    # check the credentials
                    if ( $auth ne $token ) {
                        my $response = HTTP::Response->new(407);
                        $response->header( Proxy_Authenticate => 'Basic realm=
        +"HTTP::Proxy"' );
                        $self->proxy->response($response);
                    }
                }
            )
        );
        $proxy->start();



( run in 0.237 second using v1.01-cache-2.11-cpan-4d50c553e7e )