File Coverage

blib/lib/Weixin/Client/Private/_synccheck.pm
Criterion Covered Total %
statement 0 19 0.0
branch 0 6 0.0
condition n/a
subroutine 0 3 0.0
pod n/a
total 0 28 0.0


line stmt bran cond sub pod time code
1             package Weixin::Client;
2             sub _synccheck{
3 0     0     my $self = shift;
4 0 0         return if $self->{_sync_running} ;
5 0           my $api = "https://webpush.weixin.qq.com/cgi-bin/mmwebwx-bin/synccheck";
6 0           $self->{_synccheck_running} = 1;
7             my $callback = sub {
8 0     0     my $response = shift;
9 0           $self->{_synccheck_running} = 0;
10 0 0         unless($response->is_success){
11 0           $self->_synccheck() ;
12 0           return ;
13             }
14             #window.synccheck={retcode:"0",selector:"0"}
15 0           my($retcode,$selector) = $response->content()=~/window\.synccheck={retcode:"([^"]+)",selector:"([^"]+)"}/g;
16 0           $self->_parse_synccheck_data($retcode,$selector);
17 0           };
18 0           my @query_string = (
19             skey => $self->skey,
20             callback => "jQuery1830847224326338619_" . $self->now(),
21             r => $self->now(),
22             sid => $self->wxsid,
23             uin => $self->wxuin,
24             deviceid => $self->deviceid,
25 0           synckey => join("|",map {$_->{Key} . "_" . $_->{Val};} @{$self->sync_key->{List}}),
  0            
26             _ => $self->now(),
27             );
28 0           my $url = gen_url2($api,@query_string);
29             $self->timer2("_synccheck",$self->{_synccheck_interval},sub{
30 0 0   0     print "GET $url\n" if $self->{debug};
31 0           $self->asyn_http_get($url,$callback);
32 0           });
33             }
34             1;