Ignore:
Timestamp:
Sep 20, 2011, 11:15:32 PM (13 years ago)
Author:
Edward Z. Yang <ezyang@mit.edu>
Branches:
master, release-1.10, release-1.9
Children:
b7fa912
Parents:
2a42248
git-author:
Edward Z. Yang <ezyang@mit.edu> (07/12/11 09:17:04)
git-committer:
Edward Z. Yang <ezyang@mit.edu> (09/20/11 23:15:32)
Message:
Convert to async (both Facebook::Graph and us.)

Work items:
    - Documentation is all out of date
    - Think more carefully about error handling
      (right now it's delayed into the response object)
    - Really bad HTTP POST hack in Publish.pm.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
File:
1 edited

Legend:

Unmodified
Added
Removed
  • perl/modules/Facebook/lib/Facebook/Graph/Publish.pm

    r2a42248 r7777ac2  
    77use Facebook::Graph::Response;
    88with 'Facebook::Graph::Role::Uri';
    9 use LWP::UserAgent;
     9use AnyEvent::HTTP;
     10use LWP::UserAgent; # XXX blegh
     11use HTTP::Request::Common;
    1012use URI::Encode qw(uri_decode);
    1113
     
    4244
    4345sub publish {
    44     my ($self) = @_;
     46    my ($self, $cb) = @_;
    4547    my $uri = $self->uri;
    4648    $uri->path($self->object_name.$self->object_path);
    47     my $response = LWP::UserAgent->new->post($uri, $self->get_post_params);
    48     my %params = (response => $response);
    49     if ($self->has_secret) {
    50         $params{secret} = $self->secret;
     49    # XXX blegh
     50    my $request = LWP::UserAgent->new->request(POST $uri->as_string, $self->get_post_params);
     51    http_post $uri->as_string, $request->content, sub {
     52        warn "whooo";
     53        my ($response, $headers) = @_;
     54        my %params = (
     55            response => $response,
     56            headers  => $headers,
     57            uri      => $uri->as_string
     58        );
     59        if ($self->has_secret) {
     60            $params{secret} = $self->secret;
     61        }
     62        $cb->(Facebook::Graph::Response->new(%params));
    5163    }
    52     return Facebook::Graph::Response->new(%params);
    5364}
    5465
Note: See TracChangeset for help on using the changeset viewer.