I don't know what you exactly need, but with your example it is
possible (and yes, it is dirty):

# Define own start
my $orig_start = \&Mojo::UserAgent::start;
*Mojo::UserAgent::start = sub {
    my ($ua, $tx, $cb) = @_;
    $tx->{__nb} = 1 if $cb;
    $orig_start->(@_);
};

my $ua = Mojo::UserAgent->new;
$ua->on(start => sub {
    my ($ua, $tx) = @_;

    warn "Non-blocking" if exists $tx->{__nb};
} );


On 2 October 2015 at 06:32, Kit Peters <kitbroadb...@gmail.com> wrote:
> I'm told by jberger on #mojo that you can't. There's no way to tell if a
> given request is blocking or not.
>
>
> On Thursday, October 1, 2015 at 8:21:34 PM UTC-5, Kit Peters wrote:
>>
>> I need to identify whether a given request was made in a blocking or non
>> blocking fashion. I figure I ought to do this in the Mojo::UserAgent "start"
>> event, e.g.:
>>
>> my $ua = Mojo::UserAgent->new;
>> $ua->on(start => sub {
>>
>>    my ( $ua, $tx ) = @_;
>>    # TODO: Figure out how to tell if $tx->req is blocking or no
>> }
>>
>>
>> But I don't know how.
>>
>> KP
>
> --
> 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 http://groups.google.com/group/mojolicious.
> For more options, visit https://groups.google.com/d/optout.



-- 
//wbr, Dmitry L.

-- 
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 http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to