Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

WSolution

1 sites No security coverage
View on drupal.org

The WSolution module acts as a transparent proxy to manage all outgoing HTTP, SOAP, and FTP requests from your Drupal site. It allows for centralized control over these calls through caching, fallback mechanisms, alerting, and traffic logging without requiring any application code changes. WSolution can be deployed using a hosted SaaS gateway or a self-hosted internal instance for flexible integration.

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

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.

Activity

Total releases
1
First release
Jun 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Release date
2.0.x-dev Dev Jun 10, 2025