getCode(); if ($exception instanceof ApiError) Response::apiError($exception->getMessage(), $code); else Response::response()->httpCode(is_int($code) ? $code : 500)->json(["message" => $exception->getMessage()]); }); // CORS SimpleRouter::options('/', function () { Response::response() ->header("Access-Control-Allow-Origin: *") ->header("Access-Control-Allow-Methods: *") ->header("Access-Control-Allow-Headers: *"); })->setMatch('/(.+)/is'); // Index SimpleRouter::all("/", function () { Response::redirect("docs", 301); }); /* * Open */ // Login SimpleRouter::post("/login", [Api\Login\Login::class, "post"]); // Register and confirm SimpleRouter::post("/register", [Api\Register\Register::class, "post"]); SimpleRouter::patch("/register", [Api\Register\Register::class, "patch"]); /* * Optional Auth */ SimpleRouter::group(["middleware" => Khofmann\Auth\OptAuth::class], function () { // List posts SimpleRouter::get("/posts", [Api\Posts\Posts::class, "get"]); }); /* * Normal Auth */ SimpleRouter::group(["middleware" => Khofmann\Auth\Auth::class], function () { // Logout SimpleRouter::post("/logout", [Api\Logout\Logout::class, "post"]); // Get user SimpleRouter::get("/users/{id}", [Api\Users\Users::class, "get"]); // Update self SimpleRouter::patch("/users/self", [Api\Users\Users::class, "patchSelf"]); // Update image self SimpleRouter::patch("/users/self/image", function () { Response::response() ->header("Cache-control: no-cache") ->header("Access-Control-Allow-Origin: *") ->header("Access-Control-Allow-Methods: *") ->header("Access-Control-Allow-Headers: *"); echo "HI"; print_r(Input::file("image")); echo "\n"; print_r(Input::patch("predefined")); }); //[Api\Users\Users::class, "patchImageSelf"]); // Update post SimpleRouter::patch("/posts/{id}", [Api\Posts\Posts::class, "patch"]); // Create post SimpleRouter::post("/posts", [Api\Posts\Posts::class, "post"]); }); /* * Admin Auth */ SimpleRouter::group(["middleware" => Khofmann\Auth\AdminAuth::class], function () { // List users SimpleRouter::get("/users", [Api\Users\Users::class, "list"]); // Update user SimpleRouter::patch("/users/{id}", [Api\Users\Users::class, "patch"]); // Delete user SimpleRouter::delete("/users/{id}", [Api\Users\Users::class, "delete"]); // Delete post SimpleRouter::delete("/posts/{id}", [Api\Posts\Posts::class, "delete"]); });