The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Reflexive::Client::HTTP::Role - A role for automatically getting a watched Reflexive::Client::HTTP

VERSION

version 0.007

SYNOPSIS

  {
    package MySampleClient;

    use Moose;
    with 'Reflexive::Client::HTTP::Role';

    sub on_http_response {
      my ( $self, $response_event ) = @_;
      my $http_response = $response_event->response;
      my ( $who ) = @{$response_event->args};
      print $who." got status ".$http_response->code."\n";
    }

    sub request {
      my ( $self, $who ) = @_;
      $self->http_request( HTTP::Request->new( GET => 'http://www.duckduckgo.com/' ), $who );
    }
  }

  my $msc = MySampleClient->new;
  $msc->request('peter');
  $msc->request('paul');
  $msc->request('marry');

  Reflex->run_all();

DESCRIPTION

If you attach this role, your Moose class gets an additional attribute http which contains a Reflexive::Client::HTTP. This allows you to add a simple on_http_response method, which gets the Reflexive::Client::HTTP::ResponseEvent on the success of a previous executed call to "http_request".

ATTRIBUTES

http

This watched attribute containts the Reflexive::Client::HTTP. It handles "http_request" which triggers "request" in Reflexive::Client::HTTP.

http_options

This HashRef is used for constructing the Reflexive::Client::HTTP in "http".

METHODS

http_request

See "request" in Reflexive::Client::HTTP.

AUTHOR

Torsten Raudssus <torsten@raudss.us>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.