JsonMod - support für POST requests?

Begonnen von erwin, 25 April 2022, 12:40:18

Vorheriges Thema - Nächstes Thema

erwin

Hi,
ich hab die Notwendigkeit, eine URL mittels POST request abzufragen...
im Attachment ein patch, der ein neues Attribut: 'httpMethod' ermöglicht, das an httpUtils weitergereicht wird.
Könnte man das berücksichtigen ? - oder hab ich was übersehen?
Danke Erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

erwin

FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

Torxgewinde

+1: Ich würde mich auch sehr freuen, wenn dieser Patch eingebaut werden kann.

herrmannj

#3
ist Alternativ implementiert. https://forum.fhem.de/index.php?topic=133765.msg1277381#msg1277381

JsonMod akzeptiert in der verlinkten Version eine uri "system://". Alles was danach kommt wird ans system gegeben und ein Json wird als Antwort erwartet. Damit lässt sich (ua) die gesamte Palette von cURL einsetzen (POST/PUT/DELETE HTTP2.0 usw)

POST mit Json payload wäre:
def x JsonMod system://curl -X POST "https://httpbin.org/anything" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"login":"my_login","password":"my_password"}'

Für komplexere Dinge (OAuth, Token holen und im req verwenden etc) kann man sich ein shell script (oder perl, python, ..) erstellen. Das muss dann (ausschließlich) den endgültigen Json auf die console ausgeben, damit steht er JsonMod zur Vergügung.