Bio-Das-Lite

 view release on metacpan or  search on metacpan

t/21-proxy.t  view on Meta::CPAN

sub fork_server {

  if (my $child_pid = fork) {
    return $child_pid;
  }

  my $listen_port = shift;

  eval {
    # Child process runs a server
    # (similar to http://poe.perl.org/?POE_Cookbook/Web_Server)
    POE::Component::Server::TCP->new(
      Port         => $listen_port,
      ClientFilter => 'POE::Filter::HTTPD',
      ClientInput  => sub {
        my ($kernel, $heap, $req_or_resp) = @_[KERNEL, HEAP, ARG0];
        # Errors appear as HTTP::Response objects (via filter)
        if ($req_or_resp->isa(q[HTTP::Request])) {
          my $auth = $req_or_resp->proxy_authorization_basic;
          $req_or_resp = HTTP::Response->new(200, $auth ? 'PROXY ' . $auth : 'PROXY'); # OK
          $req_or_resp->content('FAKE CONTENT');



( run in 0.510 second using v1.01-cache-2.11-cpan-e9199f4ba4c )