Add error handling to graf loading request
Right now the graf isn't loading because of a cert error. This change
adds error handling so the error is displayed to the user.
Change-Id: I424e44aa21a611bb02bd70d4b56431b6dc249d26
diff --git a/api.php b/api.php
index 176fdfe..3fdcf7b 100644
--- a/api.php
+++ b/api.php
@@ -8,6 +8,7 @@
}
public static function error($n, $msg) {
+ http_response_code(400);
self::output(["error" => $n, "msg" => $msg]);
}
}
@@ -23,11 +24,25 @@
switch ($_GET["action"]) {
case "getgraf":
- $graf = file_get_contents($conf["apiurl"]);
- echo $graf;
- break;
+ $ch = curl_init($conf["apiurl"]);
+
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($ch, CURLOPT_FAILONERROR, true);
+
+ $graf = curl_exec($ch);
+ $error = curl_errno($ch);
+ if ($error)
+ $errorMsg = curl_error($ch);
+
+ curl_close($ch);
+
+ if ($error)
+ write::error(3, "Error while retrieving Graf from dirbaio's website: ".$errorMsg);
+
+ echo $graf;
+ break;
default:
- write::error(2, "Unknown action");
+ write::error(2, "Unknown action");
}
?>