BPirkle added a comment. |
This task has been around for awhile, and related discussion and action has since occurred elsewhere. To summarize from this task and from T139169, T137926, and T139170:
- we would like to make curl optional (with a suitable warning)
- we made MultiHttpClient work without curl in T139169, but at the cost of introducing an undesirable dependency on MWHttpRequest, which is currently not within includes/libs. So in solving one issue, we created another.
- we should either use an external library, or create our own. Options presented were:
— Requests (https://packagist.org/packages/rmccue/requests), used by WordPress
— Guzzle (http://docs.guzzlephp.org), originally required curl but now has a fallback to PHP streams
— librarize our existing code (per this tasks description) . Requires librarizing some dependencies (StatusValue, etc.)
Here’s an article about when Wordpress switched to Requests: https://make.wordpress.org/core/2016/07/27/http-api-in-4-6/ Scroll down to the comments for some (admittedly dated) discussion of Requests vs Guzzle from their perspective.
I support pursuing using an external library, as there seem to be (at least) two suitable existing options. MultiHttpClient might be a good place to start, as it is currently breaking our rules. I'm happy to create a task for that and take it on, but before I get started I'm curious if the summary I just wrote above still accurately reflects our larger goals, and if there are additional thoughts I should consider.
Cc: BPirkle, Nikerabbit, Dereckson, Ladsgroup, Krinkle, PokestarFan, Tgr, Lydia_Pintscher, Ricordisamoa, Legoktm, Addshore, Aklapper, Arch2all, Lahi, Gq86, dmaza, GoranSMilovanovic, DFelten, QZanden, LawExplorer, HakanIST, Abbe98, Hannolans, Samwilson, Wikidata-bugs, aude, Dinoguy1000, fbstj, Tpt, Mbch331, bd808
_______________________________________________ Wikidata-bugs mailing list Wikidata-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs