Hi Stefan,

        The primary advantage I see is that whatever libcurl features that 
Net::Curl exposes are now readily usable within Mojo. So libcurl’s http/2 
support, for example, should be usable, as would non-HTTP protocols that 
libcurl supports like FTP, IMAP, etc. (Possibly even the experimental http/3 
support?)

        Other potential advantages would be speed (XS/C versus pure Perl) and, 
I would think, wider use: as much as Mojo is used in Perl, curl is used 
practically everywhere, with bindings in Python, Ruby, Rust, etc.

        The disadvantage is that you’ll need to use Net::Curl::Easy, which 
isn’t a very Perlish interface. HTTP::AnyUA’s backend for same demonstrates how 
to “tame the beast”, though, and Net::Curl’s own documentation is quite helpful 
(IMO), so there’s at least copious prior art to reference.

        I should disclaim here: I’ve not benchmarked this nor used it very 
extensively beyond just verifying that it works for simple parallel GETs. That 
said, since Net::Curl::Promiser is fairly simple, and Net::Curl itself has been 
around for a while and remains actively maintained, whatever gremlins may still 
lurk should be easy to find and fix.

-FG


> Le 10 déc. 2019 à 13:19, Stefan Adams <s1037...@gmail.com> a écrit :
> 
> Hi, Felipe! Thanks for sharing this! What advantages does integrating with 
> libcurl have over using Mojo::UserAgent?
> 
> On Tue, Dec 10, 2019, 8:41 AM Felipe Gasper <fel...@felipegasper.com> wrote:
> Hi all,
> 
> I’ve got a library called Net::Curl::Promiser that does the “dirty-work” of 
> interfacing between different event loops and Net::Curl::Multi. I recently 
> added a Mojo::IOLoop backend, so it should now be possible to integrate 
> libcurl seamlessly into Mojolicious via Net::Curl::Promiser::Mojo.
> 
> Hope it’s useful … enjoy!
> 
> -FG
> 
> -- 
> 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 view this discussion on the web visit 
> https://groups.google.com/d/msgid/mojolicious/856af456-b0d4-4638-9eca-9661f02bb555%40googlegroups.com.
> 
> -- 
> 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 view this discussion on the web visit 
> https://groups.google.com/d/msgid/mojolicious/CACyQ%2BFTQyKHHKe1OLaCkfxdN%2B-SgkKtbMq18q93w8FOFdKox0A%40mail.gmail.com.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/mojolicious/9966E38E-4539-409D-AF31-C2397EBED4A7%40felipegasper.com.

Reply via email to