Projet

Général

Profil

Anomalie #12432

IPARAPHEUR - Réponses non récupérées lorsqu'une note comporte un saut de ligne

Ajouté par Support Maarch il y a plus de 4 ans. Mis à jour il y a presque 3 ans.

Statut:
R&D - Terminé
Priorité:
1-Majeur
Assigné à:
Version cible:
Début:
20/11/2019
Echéance:
Version applicable MC:
Tags Courrier:
18.10.13, 19.04.11

Description

/var/www/html/MaarchCourrier1810/src/core/models/CurlModel.php l138
...
if (empty($body)) {
$body = explode(PHP_EOL, $rawResponse)[5];
...

$rawResponse représente le contenu de la requête curl.
les 4 premiers éléments de explode(PHP_EOL, $rawResponse) sont les headers
et le dernier élément une méta info également.
Si le contenu de la réponse comporte un saut de ligne, la requête est tronquée et donc plus interprétable.

Fix appliqué au SITIV (le bug bloquait les retours des parapheurs de l'instance de Corbas)

$cookies = [];
if (!empty($aArgs['options'][CURLOPT_HEADER])) {
preg_match_all('/Set-Cookie:\s*([;]*)/mi', $rawResponse, $matches);
foreach ($matches[1] as $item) {
$cookie = explode("=", $item);
$cookies = array_merge($cookies, [$cookie[0] => $cookie[1]]);
}
$rawResponse = substr($rawResponse, $infos['header_size']);
} elseif (!empty($aArgs['delete_header'])) { // Delete header for iparapheur
$body = explode(PHP_EOL . PHP_EOL, $rawResponse)[1]; // put the header ahead
if (empty($body)) {
//$body = explode(PHP_EOL, $rawResponse)[5];
$body = explode(PHP_EOL, $rawResponse);
// we remove the 4 starting item of the array (header)
for($i =0; $i < 5; $i++) array_shift($body);
// and the last item (footer)
array_pop($body);
$body = join('', $body);
}
$pattern = '/--uuid:[0-9a-f-]+--/'; // And also the footer
$rawResponse = preg_replace($pattern, '', $body);
}

Historique

#2 Mis à jour par Emmanuel DILLARD il y a plus de 4 ans

  • Statut changé de A traiter à R&D - A planifier

#3 Mis à jour par Emmanuel DILLARD il y a plus de 4 ans

  • Priorité changé de 2-Sérieux à 1-Majeur

#4 Mis à jour par Emmanuel DILLARD il y a plus de 4 ans

  • Projet changé de Backlog à CURRENT SPRINT
  • Statut changé de R&D - A planifier à R&D - En cours
  • Tags Courrier 18.10.13, 19.04.11 ajouté

#5 Mis à jour par Florian AZIZIAN il y a plus de 4 ans

  • Version cible mis à 20.03 (Fin de vie)

#7 Mis à jour par Emmanuel DILLARD il y a plus de 4 ans

  • Projet changé de CURRENT SPRINT à Backlog
  • Statut changé de R&D - En cours à R&D - Terminé

#11 Mis à jour par Emmanuel DILLARD il y a presque 3 ans

  • Projet changé de Backlog à Backlog Courrier
  • Version cible changé de 20.03 (Fin de vie) à 20.03 (Sécurité)

Formats disponibles : Atom PDF