The Webclient API is seperated into three major components:

  • Webclient: OO-based API wrapper for cURL
  • Webclient Formatters: transform raw response data into usable data using the MIME type
  • Webclient Proxy: provides proxy support.

All of the above components were translated to seperate module so that developers can create a dependency with the functionality they need.

It provides no out of the box functionality other then providing an API that other modules can use.

Difference with other similar modules:

  • OO-based API wrapper for cURL
  • Change the request and response classes depending on the request URL
  • Supports request tagging and request altering
  • Auto transform raw response data using the MIME type
  • Configure which requests should use a proxy using the admin interface

Visit project page
git clone --recursive --branch 7.x-1.x http://git.drupal.org/sandbox/daeron/1490922.git webclient

Drupal 7 module.

Comments

xenyo’s picture

Hi.

while waiting for an in-depth review of your module you can start out fixing some coding style issues detected by automated tools:
http://ventral.org/pareview/httpgitdrupalorgsandboxdaeron1490922git.

You can also get a review bonus and we will come back to your application sooner.

Also, maybe expand a bit on how your project is different from similar webclient contrib modules available

freblasty’s picture

Those issues detected by ventral are intentional. Module developers that want to extend the Webclient base classes should use the corresponding functions instead to ensure that they do not break any webclient logic.

stuchl4n3k’s picture

Hi freblasty, please, make sure that your $reqeust->result in webclient_extension.module @189 is not wrapped in t() intentionally. It's really nice and clean code.

freblasty’s picture

Thanks for the review.

The t() function was left out intentionally because the message being assigned to $request->result should be replaced by the original request headers (which is on my todo-list).

rbosscher’s picture

It could be that I'am missing something, but as far as I can see I didn't find the error messages for example "InvalidArgumentException" in webclient.base.inc back in the watchdog.

freblasty’s picture

Could you explain to me the steps you took to simulate such a watchdog entry?

freblasty’s picture

Priority: Normal » Critical

Changed priority to major according to the review process guideline.

klausi’s picture

Status: Needs review » Postponed (maintainer needs more info)

This looks like a duplicate of http_client: http://drupal.org/project/http_client . We prefer collaboration over competition so please open an issue on the existing project to join forces. I think it is a good idea to get in touch with the maintainer(s) and discuss your requirements. If that fails for whatever reason please get back to us and set this back to "needs review".

klausi’s picture

Priority: Critical » Normal
klausi’s picture

Status: Postponed (maintainer needs more info) » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application.

klausi’s picture

Issue summary: View changes

Updated webclient description as requested by xenyo.