Hi Adam.
I use start event for some reason and cookies seem to be sent properly.
Doesn't your problem have something to do with redirection?
I just found that Mojo::UserAgent doesn't set User-Agent header for
redirected requests.
I don't know this is bug or not but the request may causes the server side
app
to close the session for security reason.
I'm testing with CakePHP for server side.
When $ua->max_redirects(5),
POST /login (with User-Agent header)
-> redirected to /index with Set-Cookie for PHPSESSID
GET /index (with Cookie header but no User-Agent header)
-> session deleted by CakePHP
To prevent this, I set the user_agent manually for now.
$ua->on(start => sub {
my ($ua, $tx) = @_;
$tx->req->headers->user_agent('My Agent');
});
2014-01-30 Adam McLean <[email protected]>
> I'm using:
>
> my $ua=Mojo::UserAgent->new();
> $ua->on(start => sub {
> my ($ua, $tx)=@_;
> $tx->req->headers->header("accept" => "application/json");
> $tx->req->url->scheme("http");
> $tx->req->url->host("localhost");
> $tx->req->url->port("3000");
> });
>
> In my script to make my life easier interacting with a RESTful service.
>
> I then call:
> $ua->post("/authenticate" => json => { "user" => $user, "password" =>
> $password });
> Which responds with a 'set-cookie' header.
>
> I can verify that $ua->cookie_jar contains the cookie that was sent.
>
> I make a subsequent call to:
> $ua->post("/edit")
>
> However the cookie data is not sent in the request header.
>
> If I strip out the 'on start' code, the cookie is handled as I would
> expect (included in the request header to edit).
>
> Did I miss something? Is this a poor use of the 'on start' technique and
> should be avoided?
>
> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/mojolicious.
> For more options, visit https://groups.google.com/groups/opt_out.
>
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/groups/opt_out.