From 572a3fe607e86db0a47e436f448cfc3e00d43bfd Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Fri, 24 Feb 2023 15:58:48 +0100
Subject: [PATCH] FIX #19031 TIME 0:45 fix yousign webhook + remove deprecated
 curl option

---
 src/app/document/controllers/DigitalSignatureController.php | 4 ++--
 src/app/workflow/controllers/YousignController.php          | 6 +++---
 src/core/models/CurlModel.php                               | 2 --
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/app/document/controllers/DigitalSignatureController.php b/src/app/document/controllers/DigitalSignatureController.php
index 6eeb13dc80..7e470ff605 100755
--- a/src/app/document/controllers/DigitalSignatureController.php
+++ b/src/app/document/controllers/DigitalSignatureController.php
@@ -468,10 +468,10 @@ class DigitalSignatureController
             'url'           => $config['url'] . '/transactions/' . $document['digital_signature_transaction_id'] . '/proof',
             'basicAuth'     => ['user' => $config['user'], 'password' => $config['password']],
             'method'        => 'GET',
-            'headers'       => [CURLOPT_BINARYTRANSFER => true],
             'queryParams' => [
                 'proofFormat' => 'PDF'
-            ]
+            ],
+            'fileResponse' => true
         ]);
         if ($curlResponse['code'] != 200) {
             $response = simplexml_load_string($curlResponse['response']);
diff --git a/src/app/workflow/controllers/YousignController.php b/src/app/workflow/controllers/YousignController.php
index 18e93a64af..d19e98a1f0 100755
--- a/src/app/workflow/controllers/YousignController.php
+++ b/src/app/workflow/controllers/YousignController.php
@@ -20,8 +20,8 @@ use Docserver\controllers\DocserverController;
 use Docserver\models\AdrModel;
 use Document\controllers\DocumentController;
 use ExternalSignatoryBook\models\ExternalSignatoryBookModel;
-use Slim\Http\Request;
-use Slim\Http\Response;
+use Slim\Psr7\Request;
+use SrcCore\http\Response;
 use SrcCore\models\CoreConfigModel;
 use SrcCore\models\CurlModel;
 use SrcCore\models\ValidatorModel;
@@ -278,7 +278,7 @@ class YousignController
             'note'          => $procedureResponse['response']['members'][0]['comment'] ?? null
         ]);
 
-        return true;
+        return $response->withStatus(204);
     }
 
     public static function getProofByWorkflowId(array $args)
diff --git a/src/core/models/CurlModel.php b/src/core/models/CurlModel.php
index dc891ccf89..e2755a02ed 100755
--- a/src/core/models/CurlModel.php
+++ b/src/core/models/CurlModel.php
@@ -96,8 +96,6 @@ class CurlModel
 
         if ($args['isXml']) {
             $response = simplexml_load_string($response);
-        } elseif (!empty($args['headers']) && !$args['headers'][CURLOPT_BINARYTRANSFER]) {
-            $response = json_decode($response, true);
         } elseif(empty($args['fileResponse'])) {
             $response = json_decode($response, true);
             if (empty($code) && !empty($response["code"])) {
-- 
GitLab