chg: [workfowModules:webhook] Added support of self-signed certificates

feature/workflow-module/publish-event
Sami Mokaddem 2023-10-10 08:58:56 +02:00
parent c1be0c8ae7
commit 8e82260524
No known key found for this signature in database
GPG Key ID: 164C473F627A06FA
1 changed files with 13 additions and 2 deletions

View File

@ -8,7 +8,7 @@ class Module_webhook extends WorkflowBaseActionModule
{
public $id = 'webhook';
public $name = 'Webhook';
public $version = '0.5';
public $version = '0.6';
public $description = 'Allow to perform custom callbacks to the provided URL';
public $icon_path = 'webhook.png';
public $inputs = 1;
@ -51,6 +51,16 @@ class Module_webhook extends WorkflowBaseActionModule
'delete' => 'DELETE',
],
],
[
'id' => 'self_signed',
'label' => __('Self-signed certificates'),
'type' => 'select',
'default' => 'deny',
'options' => [
'deny' => 'Deny self-signed certificates',
'allow' => 'Allow self-signed certificates',
],
],
[
'id' => 'payload',
'label' => __('Payload (leave empty for roaming data)'),
@ -108,6 +118,7 @@ class Module_webhook extends WorkflowBaseActionModule
}
$tmpHeaders = explode(PHP_EOL, $params['headers']['value']);
$headers = [];
$selfSignedAllowed = $params['self_signed']['value'] == 'allow';
foreach ($tmpHeaders as $entry) {
$entry = explode(':', $entry, 2);
if (count($entry) == 2) {
@ -115,7 +126,7 @@ class Module_webhook extends WorkflowBaseActionModule
}
}
try {
$response = $this->doRequest($params['url']['value'], $params['content_type']['value'], $payload, $headers, $params['request_method']['value']);
$response = $this->doRequest($params['url']['value'], $params['content_type']['value'], $payload, $headers, $params['request_method']['value'], ['self_signed' => $selfSignedAllowed]);
if ($response->isOk()) {
return true;
}