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. :)