use strict;
use warnings;
use Test::More 0.96 import => ['!pass'];
use HTTP::Tiny;
use Test::TCP;
HTTP::Tiny->new->get("http://google.com/")->{success}
or plan skip_all => "google.com not available";
use Dancer ':syntax';
use Dancer::Plugin::Adapter;
test_tcp(
client => sub {
my $port = shift;
my $ua = HTTP::Tiny->new;
my $res = $ua->get("http://localhost:$port/proxy");
ok( $res->{success}, "Request success" );
like $res->{content}, qr/google/i, "HTTP::Tiny got proxy response";
},
server => sub {
my $port = shift;
set confdir => '.';
set port => $port, startup_info => 0;
set show_errors => 1;
set plugins => {
Adapter => {
http => {
class => 'HTTP::Tiny',
options => { max_redirect => 10 },
},
},
};
get '/' => sub {
diag "in /";
return "Hello World";
};
get '/proxy' => sub {
my $response = service("http")->get("http://google.com/");
return $response->{content};
};
Dancer->dance;
},
);
done_testing;
#
# This file is part of Dancer-Plugin-Adapter
#
# This software is Copyright (c) 2012 by David Golden.
#
# This is free software, licensed under:
#
# The Apache License, Version 2.0, January 2004
#