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

NAME

AnyEvent::HTTP::ScopedClient - AnyEvent based https://github.com/technoweenie/node-scoped-http-client

VERSION

version 0.0.1

SYNOPSIS

    my $client = AnyEvent::HTTP::ScopedClient->new('http://example.com');
    $client->request('GET', sub {
        my ($body, $hdr) = @_;    # $body is undef if error occured
        return if ( !$body || !$hdr->{Status} =~ /^2/ );
        # do something;
    });

    # shorcut for GET
    $client->get(sub {
        my ($body, $hdr) = @_;    # $body is undef if error occured
        return if ( !$body || !$hdr->{Status} =~ /^2/ );
        # do something;
    });

    # Content-Type: application/x-www-form-urlencoded
    $client->post(
        { foo => 1, bar => 2 },    # note this.
        sub {
            my ($body, $hdr) = @_;    # $body is undef if error occured
            return if ( !$body || !$hdr->{Status} =~ /^2/ );
            # do something;
        }
    );

    # application/x-www-form-urlencoded post request
    $client->post(
        "foo=1&bar=2"    # and note this.
        sub {
            my ($body, $hdr) = @_;    # $body is undef if error occured
            return if ( !$body || !$hdr->{Status} =~ /^2/ );
            # do something;
        }
    );

    # Content-Type: application/json
    use JSON::XS;
    $client->header('Content-Type', 'application/json')
        ->post(
            encode_json({ foo => 1 }),
            sub {
                my ($body, $hdr) = @_;    # $body is undef if error occured
                return if ( !$body || !$hdr->{Status} =~ /^2/ );
                # do something;
            }
        );

    $client->header('Accept', 'application/json')
        ->query({ key => 'value' })
        ->query('key', 'value')
        ->get(sub {
            my ($body, $hdr) = @_;    # $body is undef if error occured
            return if ( !$body || !$hdr->{Status} =~ /^2/ );
            # do something;
    });

DESCRIPTION

AnyEvent::HTTP wrapper

SEE ALSO

https://github.com/technoweenie/node-scoped-http-client

AUTHOR

Hyungsuk Hong <hshong@perl.kr>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Hyungsuk Hong.

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