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; } //there's only one verion of the api for now //$result = []; switch (isset($args["third"]) ? $args["third"] : "none") { case "login": $result = Auth::login($body); break; case "logout": $result = Auth::logout($body); break; case "page": //move methdology to its own API class $task = $args["fourth"]; $token = $request->getHeader("fipamo-access-token"); if (Session::verifyToken($token[0])) { switch ($task) { case "delete": case "create": case "write": $result = (new Book("../content/pages"))->editPage( $task, $request ); break; case "add-entry-image": $result = ImagesAPI::uploadImage($request); break; default: $result = [ "message" => "Hm, no task. That's unfortunate", "type" => "TASK_NONE", ]; break; } } 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"); } }