You want the multipart content generator. Scroll down to the very last example in https://metacpan.org/pod/Mojo::UserAgent::Transactor#tx
-Dan On Mon, Sep 17, 2018 at 10:22 PM Steve Dondley <sdond...@gmail.com> wrote: > I'm trying to hack a perl module that uses mojolicious to make api calls > to google's api so that it can make batch api call as documented here: > https://developers.google.com/gmail/api/guides/batch > > I've made various attempts but no calls are resulting in a successful > response. Here's what I'm currently trying. > > my $options = > [ > { > content => 'GET /gmail/v1/users/ > m...@gmail.com/messages/165e91c27e4af0be', > 'Content-Type' => 'application/http', > }, > { > content => 'GET /gmail/v1/users/ > m...@gmail.com/messages/165e94ce49900df2', > 'Content-Type' => 'application/http', > } > ]; > > > my $path = 'https://www.googleapis.com/batch/' . $s->api . '/' . $s > ->version; > > > my $headers = {'Authorization' => 'Bearer TOKEN_HERE'}; > > > > > $tx = $self->ua->build_tx( > uc $http_method => $path => $headers => json => > $optional_data ); > > > > > This results in a tranaction object that looks like this: > > > $VAR1 = bless( { > 'req' => bless( { > 'content' => bless( { > 'headers' => > bless( { > > 'headers' => { > > 'content-type' => [ > > 'application/json' > > ], > > 'authorization' => [ > > 'Bearer TOKEN_HERE' > > ], > > 'accept-encoding' => [ > > 'gzip' > > ], > > 'user-agent' => [ > > 'Mojolicious (Perl)' > > ] > > } > > }, 'Mojo::Headers' ), > 'events' => { > > 'read' => [ > > sub { "DUMMY" } > > ] > }, > 'read' => $VAR1 > ->{'req'}{'content'}{'events'}{'read'}[0], > 'asset' => bless( > { > > 'content' => '[{"Content-Type":"application\\/http","content":"GET > \\/gmail\\/v1\\/u > sers\\/m...@gmail.com\\/messages\\/165e91c27e4af0be"},{"Content-Type":"application\\/http","content":"GET > \\/gmail\\/v1\\/users\\/m...@gmail.com\\/messag > es\\/165e94ce49900df2"}]' > > }, 'Mojo::Asset::Memory' ) > }, > 'Mojo::Content::Single' ), > 'url' => bless( { > 'scheme' => 'https', > 'host' => ' > www.googleapis.com', > 'path' => bless( { > > 'path' => '/batch/gmail/v1' > }, > 'Mojo::Path' ) > }, 'Mojo::URL' ), > 'method' => 'POST' > }, 'Mojo::Message::Request' ) > }, 'Mojo::Transaction::HTTP' ); > > > > Trying anything other than json for the generator results in an error: > Use of uninitialized value $cb in method lookup > > Fiddling with the content type settings doesn't help make this go away. > > -- > You received this message because you are subscribed to the Google Groups > "Mojolicious" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to mojolicious+unsubscr...@googlegroups.com. > To post to this group, send email to mojolicious@googlegroups.com. > Visit this group at https://groups.google.com/group/mojolicious. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Mojolicious" group. To unsubscribe from this group and stop receiving emails from it, send an email to mojolicious+unsubscr...@googlegroups.com. To post to this group, send email to mojolicious@googlegroups.com. Visit this group at https://groups.google.com/group/mojolicious. For more options, visit https://groups.google.com/d/optout.