getBody()->write(json_encode($result)); return $response->withHeader("Content-Type", "application/json"); } public static function post( ServerRequestInterface $request, ResponseInterface $response, array $args ): ResponseInterface { $contentType = $request->getHeader("Content-Type"); switch ($contentType[0]) { case "application/json": $body = json_decode(file_get_contents("php://input"), true); break; default: break; } switch (isset($args["third"]) ? $args["third"] : "none") { case "login": $result = AuthAPI::login($body); break; case "logout": $result = AuthAPI::logout($body); break; case "page": $token = $request->getHeader("fipamo-access-token"); //Verify token for admin tasks if (Session::verifyToken($token[0])) { $result = PagesAPI::handlePageTask($request, $args); } else { $result = [ "message" => "API access denied, homie", "type" => "API_ERROR", ]; } break; case "settings": $token = $request->getHeader("fipamo-access-token"); if (Session::verifyToken($token[0])) { $result = SettingsAPI::handleSettingsTask($request, $args, $body); } else { $result = [ "message" => "API access denied, homie", "type" => "API_ERROR", ]; } break; default: $result = [ "message" => "Oh, nothing to do. That's unfortunate", "type" => "TASK_NONE", ]; break; } $response->getBody()->write(json_encode($result)); return $response->withHeader("Content-Type", "application/json"); } }