Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

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.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

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

Releases

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