Page 1 of 1
KeyHelp RESTful API /server Endpunkt liefert leeren body
Posted: Sat 28. Dec 2019, 01:21
by Aljosha
Hallo zusammen,
beim Erkunden der Rest Api bin ich auf das Problem gestoßen, dass der
/server Endpunkt keinen bzw. nur einen leeren body zurückliefert.
Als Statuscode gibt er 200 OK zurück.
Andere Endpunkte wie
/domains funktionieren ohne Probleme.
Getestet habe ich die Endpunkte über Postman sowie über die
Swagger-Dokumentationsseite, sowohl mit, als auch ohne query parameter.
Leider konnte ich in der Dokumentation nichts dazu finden und auch meine Suche hier im Forum hat leider keine Ergebnisse geliefert.
Ich hoffe, hier kann mir jemand weiterhelfen
Mit freundlichen Grüßen
Aljosha
Re: KeyHelp RESTful API /server Endpunkt liefert leeren body
Posted: Sat 28. Dec 2019, 04:16
by Enigma
Wie genau sieht Dein Request denn aus (Server / API-Key ggf. pseudonymisieren)?
Grundsätzlich scheint's zu funktionieren - mein PHP-Skript liefert jedenfalls die gewünschten Daten (ich hab's eben noch mal ausprobiert).
Gruß
Jan
Re: KeyHelp RESTful API /server Endpunkt liefert leeren body
Posted: Sat 28. Dec 2019, 12:19
by Aljosha
Der Request sieht so aus:
Code: Select all
curl -X GET "https://example.net/api/v1/server?meta=true&operating_system=true&utilization=true&resources=true" -H "accept: application/json" -H "X-API-Key: KEY"
Er liefert im Header neben anderem
content-length: 0
Der Request für z.B: /clients sieht so aus:
Code: Select all
curl -X GET "https://example.net/api/v1/clients?order=asc" -H "accept: application/json" -H "X-API-Key: KEY"
und funktioniert.
Er liefert im Header neben anderem
content-length: 3090
Grüße
Aljosha
Re: KeyHelp RESTful API /server Endpunkt liefert leeren body
Posted: Sat 28. Dec 2019, 16:10
by Enigma
Eigenartig, denn bei mir werden sowohl bei Verwendung der vier Parameter als auch ohne die korrekten Daten ausgegeben. Ich habe Dein Abfrageformat auf der Konsole verwendet, um gleiche Bedingungen zu schaffen.
Kannst Du KeyHelp auf einem Testserver installieren und es dort probieren? Möglicherweise ist bei Dir eine Datei beschädigt o. Ä. Ich wüsste jedenfalls keinen Grund, warum die API bei Dir auf einen ganz bestimmten Request nicht antworten sollte.
Gruß
Jan
Re: KeyHelp RESTful API /server Endpunkt liefert leeren body
Posted: Sat 28. Dec 2019, 21:32
by Aljosha
Danke für deine Mühe,
leider habe ich gerade keinen Testserver zur Hand.
Ich werde mir die Daten wohl direkt vom Server holen müssen, aber das sollte eigentlich auch kein Problem sein
Grüße
Aljosha
Re: KeyHelp RESTful API /server Endpunkt liefert leeren body
Posted: Thu 2. Jan 2020, 09:46
by Alexander
Hallo,
du kannst mal zum Zeitpunkt des Requests in den PHP-Error log unter /var/log/keyhelp/php-error.log schauen.
Welches OS verwendet der KeyHelp-Server?
Re: KeyHelp RESTful API /server Endpunkt liefert leeren body
Posted: Thu 2. Jan 2020, 15:15
by select name from me;
Ich bin über das gleiche Problem gestolpert. In der Datei /var/log/keyhelp/php-error.log wird folgende Warnung ausgegeben:
PHP Warning: Division by zero in /home/keyhelp/www/keyhelp/core/pending/Server.php on line 260
Ich verwende Ubuntu 18.04 unter Vagrant.
Re: KeyHelp RESTful API /server Endpunkt liefert leeren body [GELÖST]
Posted: Thu 2. Jan 2020, 15:42
by Alexander
select name from me; wrote: ↑Thu 2. Jan 2020, 15:15
Ich bin über das gleiche Problem gestolpert. In der Datei /var/log/keyhelp/php-error.log wird folgende Warnung ausgegeben:
PHP Warning: Division by zero in /home/keyhelp/www/keyhelp/core/pending/Server.php on line 260
Ich verwende Ubuntu 18.04 unter Vagrant.
Was gibt bei dir der Befehl: "free -b" zurück?
Wenn du mal die einzelnen Query-Parameter auf false / 0 setzt, "...?meta=0&operating_system=0&utilization=0&resources=0" und dann nach und nach wieder aktivierst - wann ist der Body leer? - an welcher Stelle bricht es?
EDIT:
Habe die voraussichtliche Ursache des Problems jetzt beseitigt. Der Fehler trat dann auf, sofern kein Swap-Speicher definiert war. Über das Ergebnis von free -b würde ich mich aber trotzdem noch von dir freuen, um es zu verifizieren.
Fix ist dann Teil von KH 20.
Re: KeyHelp RESTful API /server Endpunkt liefert leeren body
Posted: Fri 3. Jan 2020, 16:58
by select name from me;
Alexander wrote: ↑Thu 2. Jan 2020, 15:42
Was gibt bei dir der Befehl: "free -b" zurück?
Hier die Ausgabe:
Code: Select all
total used free shared buff/cache available
Mem: 2090127360 744103936 435421184 4235264 910602240 1185083392
Swap: 0 0 0
Vielen Dank für den Fix.
