PUT et POST sont deux méthodes HTTP différentes.
oui c'est juste que depuis le début le 'put' de nspeed faisait un POST.
avec la v0.10 j'ai changé cela. 'put' fait maintenant un 'PUT' et j'ai ajouté 'post' si on veut faire un POST. histoire d'être cohérent avec le protocole HTTP.
Sinon, j'avais déjà relevé le comportement peu intuitif de la commande "nspeed server" sans l'option -a, ou avec une interface.
Le readme dit que par défaut ça utilise 127.0.0.1, mais ça dépend des machines :
- sur WSL j'ai 127.0.0.1 par défaut, et "nspeed server -6" échoue (mais "nspeed server -a ::1" fonctionne)
- sous Linux et Windows, j'ai ::1 par défaut (IPv6 seulement), et "nspeed server -4" fonctionne pour avoir l'IPv4
De même "-a lo" ou toute autre interface semble choisir IPV6.
Certes on peut :
- utiliser -a "" ou -a :: pour écouter sur toutes les interfaces en IPv4 et IPv6.
- donner deux commandes : "nspeed server -a enp5s0 -4 server -a enp5s0 -6" ou "nspeed server -a 127.0.0.1 server -a ::1"
De même -
oui c'est "normal". 'nspeed server' fait par défaut 'nspeed server -a localhost' (comme le montre 'nspeed server -h')
il y une reso dns pour résoudre 'localhost'. Suivant l'hôte ca peut ne pas fonctionner pour IPv6, sans doute le cas de WSL ("ping -6 localhost" devrait avoir le même probleme non ?)
Je pourrais forcer pour résoudre directement localhost en 127.0.0.1 et ::1 pour éviter ce genre de problème mais c'est bien aussi de pas toujours s'adapter aux OS mal configurés ? j'ai pas tranché encore la.
cf aussi le CHANGELOG.md , il y a une
note a ce sujet ( qui n'est plus trop a jour car cela bind bien en IPv6 par défaut si la réso dns retourne ::1).
Pour écouter a la fois en IPv6 et IPv4 avec une seule commande 'server' ou plus généralement sur plus d'une adresse, il n'y a que "" qui fonctionne. Pour que ca fonctionne avec localhost ou n'importe quelle interface, il faudrait faire un SO_BINDTODEVICE ce qui n'est pas supporter directement en Go car ce n'est pas multiplateforme de base (ca a peut etre changé depuis , je n'ai pas creusé plus - c'est une histoire de "dual stack socket", entres autres). Ce n'est pas crucial pour le moment mais c'est dans la todo list.
Il est vrai que ca serait pratique de pouvoir 'nspeed server -a eth0' pour écouter sur toutes les IP (une ou plusieurs v4 et et une ou plusieurs v6) d'eth0.