logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Hyungsuk Hong <hshong@perl.kr>

Description

       AnyEvent::HTTP wrapper

Name

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

See Also

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

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) = @_;
               # ...
           });

           # Content-Type: application/x-www-form-urlencoded
           $client->post(
               { foo => 1, bar => 2 },    # note this.
               sub {
                   my ($body, $hdr) = @_;
                   # ...
               }
           );

           # application/x-www-form-urlencoded post request
           $client->post(
               "foo=1&bar=2"    # and note this.
               sub {
                   my ($body, $hdr) = @_;
                   # ...
               }
           );

           # Content-Type: application/json
           use JSON::XS;
           $client->header('Content-Type', 'application/json')
               ->post(
                   encode_json({ foo => 1 }),
                   sub {
                       my ($body, $hdr) = @_;
                       # ...
                   }
               );

           $client->header('Accept', 'application/json')
               ->query({ key => 'value' })
               ->query('key', 'value')
               ->get(
                   sub {
                       my ($body, $hdr) = @_;
                       # ...
                   }
               );

           # headers at once
           $client->header({
               Accept        => '*/*',
               Authorization => 'Basic abcd'
           })->get(
               sub {
                   my ($body, $hdr) = @_;
                   # ...
               }
           );

Version

       version 0.0.5

See Also