Tatsumaki-Service-XMPP
view release on metacpan or search on metacpan
lib/Tatsumaki/Service/XMPP.pm view on Meta::CPAN
return unless $msg->any_body;
# TODO refactor this
my $req = POST "/_services/xmpp/chat", [ from => $msg->from, to => $acct->jid, body => $msg->body ];
my $env = $req->to_psgi;
$env->{'tatsumaki.xmpp'} = {
client => $client,
account => $acct,
message => $msg,
};
$env->{'psgi.streaming'} = 1;
my $res = $self->application->($env);
$res->(sub { my $res = shift }) if ref $res eq 'CODE';
},
contact_request_subscribe => sub {
my($client, $acct, $roster, $contact) = @_;
$contact->send_subscribed;
my $req = POST "/_services/xmpp/subscribe", [ from => $contact->jid, to => $acct->jid ];
my $env = $req->to_psgi;
$env->{'tatsumaki.xmpp'} = {
client => $client,
account => $acct,
contact => $contact,
};
$env->{'psgi.streaming'} = 1;
my $res = $self->application->($env);
$res->(sub { my $res = shift }) if ref $res eq 'CODE';
},
);
$xmpp;
}
sub start {
my($self, $application) = @_;
( run in 0.453 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )