Come together with the global Drupal community in Rotterdam, 28 Sept – 1 Oct 2026. Sessions, contribution, connection, and Early Bird savings until 8 June.
I'm thinking of having different backends for HTTPRL, one of them right now is the stream_select() backend. If there was a CURL backend as well that would be pretty cool. This issue (#380052: Add support with non-blocking parallel link checking) has curl multi sorta working; but they switched to HTTPRL due to CURL redirect issues (HTTPRL allows for requests to be added to the stack even after it's been executed; to follow 301's, etc...).
We are both going after the same goal... we want a more powerful HTTP client in drupal because drupal_http_request() doesn't do what we need it to.
Do you think you could get curl multi working in this project? What do you need in HTTPRL (proxy, hook_response_formatter_info, etc) in order to start to merge the projects?
I think i'll get curl multi to work just need to rethink the hole "API" so that one can swithc between single curl and multi curl requests without much of an effort.
Adding the webclient hooks to the HTTPRL module would come in handy if you want to support proxy, and auto response formatting. But this would mean that all fallbacks should support the same functionality.
Sorry for the late response, been quite busy at work so haven't had any time to start development. Now i've noticed the pluggable architecture issue against the drupal 8 core which makes me wonder if we should halt the development until that issue is closed?
This issue’s project has disappeared. Most likely, it was a sandbox project, which can be deleted by its maintainer. See the Lost & found issues project page for more details. (The missing project ID was 1490922)
Comments
Comment #1
freblasty commentedRead the issue and project description. I would love to collaborate but need some more information on the subject.
Comment #2
mikeytown2 commentedI'm thinking of having different backends for HTTPRL, one of them right now is the stream_select() backend. If there was a CURL backend as well that would be pretty cool. This issue (#380052: Add support with non-blocking parallel link checking) has curl multi sorta working; but they switched to HTTPRL due to CURL redirect issues (HTTPRL allows for requests to be added to the stack even after it's been executed; to follow 301's, etc...).
We are both going after the same goal... we want a more powerful HTTP client in drupal because drupal_http_request() doesn't do what we need it to.
Do you think you could get curl multi working in this project? What do you need in HTTPRL (proxy, hook_response_formatter_info, etc) in order to start to merge the projects?
Comment #3
freblasty commentedI think i'll get curl multi to work just need to rethink the hole "API" so that one can swithc between single curl and multi curl requests without much of an effort.
Adding the webclient hooks to the HTTPRL module would come in handy if you want to support proxy, and auto response formatting. But this would mean that all fallbacks should support the same functionality.
Comment #4
mikeytown2 commentedDiscovered this a couple of days ago: https://github.com/jmathai/php-multi-curl
I've added in support for something similar that would allow for auto response formatting #1524968: Run drupal_alter() in httprl_post_processing(). For proxy support I have an issue where I link to various issues for core that deal with it #1320172: Bring in proxy support.
Comment #5
freblasty commentedSorry for the late response, been quite busy at work so haven't had any time to start development. Now i've noticed the pluggable architecture issue against the drupal 8 core which makes me wonder if we should halt the development until that issue is closed?
Comment #6
mikeytown2 commentedAlso be aware of http://drupal.org/project/chr.
I'm not sure about the direction of #64866: Pluggable architecture for drupal_http_request(); its a good idea but it needs someone to drive it. Something that CURL can't do that stream select can do is run shell commands #1357652-22: Merge Projects: Replace Background Process's HTTP client with HTTPRL's. . This makes me think that having a pluggable architecture is the right way. Making HTTPRL pluggable and have that be the core replacement sounds interesting if you ask me. I got some ideas for a 2.x branch of HTTPRL to make it suitable for core but that's a big change #1593862: 2.x branch and target for core inclusion. Move extra stuff to sub-modules..
Comment #7
freblasty commentedClosing the support request as the last comment is almost a year old.