FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: justme1968 am 23 Januar 2019, 16:10:03

Titel: warum HTTP::Request ?
Beitrag von: justme1968 am 23 Januar 2019, 16:10:03
gibt es einen grund warum es module gibt die HTTP::Request verwenden statt der HttpUtils?

was fehlt in den HttpUtils?
Titel: Antw:warum HTTP::Request ?
Beitrag von: CoolTux am 23 Januar 2019, 16:20:29
Hallo Andre,

Vielleicht sollte man erwähnen welche Module es sind dann fühlen sich die Verantwortlichen vielleicht besser angesprochen.


Grüße
Titel: Antw:warum HTTP::Request ?
Beitrag von: betateilchen am 23 Januar 2019, 16:24:36
Siehe Anhang.

Kommt vermutlich daher, dass ein Modulautor ein anderes Modul mit ähnlichen Anforderungen als "Vorlage" nimmt und dann für seine Zwecke anpasst. So wird Unfug von Modulgeneration zu Modulgeneration weitervererbt.

Davon abgesehen:

Mögen tu ich die HttpUtils auch nicht. Manche perl Module (z.B. HTTP::Request) sind in ihrer Funktionsweise definitiv viel einfacher zu verstehen.
Titel: warum HTTP::Request ?
Beitrag von: justme1968 am 23 Januar 2019, 16:33:45
ich bin nur zufällig über einen thread gestolpert bei dem HTTP::Request im fehlerfall scheinbar ganz fhem zum beenden bringt.

das die ist leider in einigen externen perl modulen ein problem. auch der fhem dns client der das blockieren bei internet ausfall verhindert funktioniert nur mit HttpUtils.

wenn man sich in die arbeitsweise von HttpUtils eingedacht hat ist es sehr einfach zu verwenden.
Titel: Antw:warum HTTP::Request ?
Beitrag von: CoolTux am 23 Januar 2019, 16:44:19
Na wie gut das ich nach gefragt habe. UWZ habe ich geerbt. Werde das die Tage umbauen.
Titel: Antw:warum HTTP::Request ?
Beitrag von: KölnSolar am 23 Januar 2019, 16:56:30
Controlpoint.pm ist ja "quasi" eine externe Lib(upnp). Da wird sich ein Umbau vermutlich nicht sinnvoll durchführen lassen.
Wird verwendet in SONOS, DLNARenderer, DLNAClient(ist eh deprecated).
Titel: Antw:warum HTTP::Request ?
Beitrag von: justme1968 am 23 Januar 2019, 17:08:59
SONOS verwenden einen extra prozess. bringt als fhem zumindest nicht zum abstürzen.

für die reine discovery von upnp geräten wird es demnächst das hier: https://forum.fhem.de/index.php/topic,67368.msg880001.html#msg880001 (https://forum.fhem.de/index.php/topic,67368.msg880001.html#msg880001) geben. das hat auch noch den Vorteil das es nicht blockiert.

Titel: Antw:warum HTTP::Request ?
Beitrag von: KölnSolar am 23 Januar 2019, 17:26:32
nur discovery wird aber nicht reichen. DLNARenderer und SONOS verwenden die Lib ja als kompletten DLNA-Controlpoint.  :'(
Titel: Antw:warum HTTP::Request ?
Beitrag von: justme1968 am 23 Januar 2019, 17:30:24
discovery (vor allem nicht blockierend) ist aber ein anfang und der teil der mit HttpUtils nicht geht. das steuern an sich sollte dann mit HttpUtils gehen.

Titel: Antw:warum HTTP::Request ?
Beitrag von: Markus M. am 23 Januar 2019, 18:52:47
Also spätestens bei POST Requests mit User Agent Credentials, MIME Types und File Upload werden irgendwann die HttpUtils Beispiele rar, an denen man sich auch nur ansatzweise orientieren kann ;)
Ich kann aber beruhigt sagen, dass keine der Fundstellen in meinen SVN Modulen aktiver Code ist.
Titel: Antw:warum HTTP::Request ?
Beitrag von: Markus Bloch am 26 Januar 2019, 10:29:23
Zitat von: Markus M. am 23 Januar 2019, 18:52:47
Also spätestens bei POST Requests mit User Agent Credentials, MIME Types und File Upload werden irgendwann die HttpUtils Beispiele rar,

Sowas geht an sich alles mit HttpUtils. Da geht es eher darum zu wissen, welche Header wie gesetzt sein müssen und wie der HTTP Body aussehen muss. Wenn man das weis, ist das genauso gut mit HttpUtils umsetzbar.

Viele Grüße

Markus