Changes between Version 5 and Version 6 of API/Query


Ignore:
Timestamp:
Jun 18, 2022, 2:32:49 PM (23 months ago)
Author:
mirek@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • API/Query

    v5 v6  
    4545use strict;
    4646use warnings;
    47 use REST::Client;
     47
    4848use JSON;
     49use LWP::UserAgent;
    4950use MIME::Base64;
     51use Net::SSLeay;
    5052
    51 my $url      = "...";
    52 my $username = "...";
    53 my $password = "...";
     53use constant URL  => '...';
     54use constant USER => '...';
     55use constant PASS => '...';
    5456
    55 my $rest = new REST::Client({ host => $url });
     57my $ua = LWP::UserAgent->new();
    5658
    57 $rest->addHeader( "Content-type", "application/json");
    58 $rest->addHeader( "Authorization" => join(" ", "Basic", MIME::Base64::encode( join(":", $username, $password))));
     59$ua->default_header( "Content-type" => "application/json");
     60$ua->default_header( "Authorization" => join(" ", "Basic", MIME::Base64::encode( join(":", USER, PASS))));
    5961
    6062my $results;
     
    6264my $limit  = 100;
    6365
    64 my $j = new JSON;
     66my $j = JSON->new();
    6567
    6668do {
    67   my $r = $rest->GET( "/rest/query", { offset => $offset, limit => $limit });
    68   my $response = $j->decode( $r->responseContent());
    6969
    70   if( $results = $response->{"results"}) {
    71     $offset += scalar @$results;
    72     foreach my $item (@$results) {
    73       printf "%s: %s[#%s]\n", $offset, $item->{"pn"}, $item->{"id"};
    74     }
    75   }
     70        my $uri = URI->new( join('/', URL, 'rest/subscribers'));
     71        $uri->query_form( offset => $offset, limit => $limit);
    7672
    77 } while (scalar @$results == $limit);
     73        my $r = $ua->get($uri);
     74
     75        die sprintf("request failed (%s)\n", $r->code) unless $r->code == 200;
     76
     77        if( my $response = $j->decode( $r->decoded_content())) {
     78
     79                if( $results = $response->{"results"}) {
     80
     81                        foreach my $item (@$results) {
     82                                printf "%s: %s[#%s]\n", $offset, $item->{"pn"}, $item->{"id"};
     83                        }
     84
     85                        $offset += scalar @$results;
     86
     87                }
     88
     89        }
     90
     91} while (scalar @$results);
    7892}}}