This project is not covered by Drupal’s security advisory policy.

The WSolution module adds a transparent proxy layer to your Drupal site that intercepts and manages all outgoing HTTP/SOAP/FTP calls. Without changing a single line of application code, you gain centralized control over external web service calls: caching, fallback handling, alerting, and traffic logging out of the box.

How it works

 Drupal site → WSolution module → PassePlat gateway → external service / Elasticsearch

WSolution uses PHP-VCR to hook into PHP's native request layers (cURL, SOAP, stream wrappers) at runtime. Matched outgoing requests are transparently routed through the PassePlat gateway, which applies your configured policies before forwarding the call to its original destination.

Transparent interception

Hooks into cURL, SOAP and PHP stream wrappers with zero application-code changes. Only URLs matching your configured patterns are affected.

Caching & fallback

WSolution caches responses and can serve a cached fallback when an upstream service is slow or unavailable, improving resilience and performance.

Alerting & monitoring

Receive alerts when external services behave unexpectedly. A built-in dashboard and log viewer give you full visibility over outgoing traffic.

Flexible deployment

Choose between the hosted SaaS gateway (wsolution.app) or a self-hosted internal instance. Switch modes without touching your application code.

Getting started

  1. Install via Composer: composer require drupal/wsolution
  2. Enable the module at Admin > Extend.
  3. Go to Admin > Configuration > Web services > WSolution (or /admin/wsolution/settings/outgoing).
  4. Choose a deployment mode:
    • Passeplat SaaS — routes intercepted calls through an external PassePlat gateway. Enter the gateway host and your WSolution identifier (WSID), then define the URL patterns to route.
    • Passeplat Internal — runs the PassePlat engine locally inside Drupal, with no external dependency.
  5. Enable the desired library hooks (cURL, SOAP, stream wrapper) and save.

Tip: In SaaS mode, use the Include filter to route only specific URL patterns, keeping unrelated outgoing calls untouched. Add one URL pattern per line in the Rest URLs field.

Sub-modules

WSolution Elastic
Forwards request logs to an Elasticsearch index for advanced search, analytics and long-term retention.
 

Requirements

  • Drupal 10 or later
  • PHP 8.2.9+ (or PHP 8.0/8.1)
  • Composer (required to pull the php-vcr/php-vcr dependency)

Dependency note

This module requires php-vcr/php-vcr ^1.6.7. Always install via Composer to ensure the library is present.

AttachmentSize
ecosystem-overview.png54.39 KB

Project information

Releases