Je dois effectuer un appel HTTP POST vers un serveur Hudson CI à partir de CakePHP. L'appel est paramétré et contient quelques paires clé/valeur. Certains d'entre eux sont en fait des fichiers qui doivent être téléchargés.Envoyer un fichier via une requête POST avec http_socket dans CakePHP?
Depuis que j'utilise CakePHP, je préfère utiliser la classe HttpSocket qui vient avec le framework plutôt que d'essayer d'écrire ma propre implémentation basée sur cURL.
Jusqu'à présent, l'appel ressemble à ceci:
$result = $http->post($apiCall, $params, $auth);
$ apicall étant l'URI de l'API REST Hudson. $ params étant un tableau de paramètres associé à l'appel POST. $ auth contenant un utilisateur/pass pour Basic Auth qui est configuré avec cette instance de Hudson.
Je suis un peu perplexe cependant: que devrais-je faire pour inclure aussi les fichiers dans mon tableau $ params?
Nous utilisons Hudson v1.371 qui, pour autant que je sache, supporte les téléchargements de fichiers provenant d'un appel de construction paramétré.
Merci!
Je suis sur le même bateau. Je ne pense pas que la classe HTTPSocket puisse le faire nativement. La meilleure solution semble créer manuellement les données de contenu en plusieurs parties. – pixelastic