blob: aa12ca240ccbd9f546c10864eedfc0bd69a175f7 [file] [log] [blame]
Copybara botbe50d492023-11-30 00:16:42 +01001<?php
Adrià Vilanova Martínez5af86512023-12-02 20:44:16 +01002/*
3 * hores
4 * Copyright (c) 2023 Adrià Vilanova Martínez
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Affero General Public License as
8 * published by the Free Software Foundation, either version 3 of the
9 * License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public
17 * License along with this program.
18 * If not, see http://www.gnu.org/licenses/.
19 */
20
Copybara botbe50d492023-11-30 00:16:42 +010021class api {
22 public static function inputJson() {
23 $string = trim(file_get_contents("php://input"));
24
25 if (empty($string)) return false;
26
27 $json = json_decode($string, true);
28
29 if (json_last_error() !== JSON_ERROR_NONE) return false;
30
31 return $json;
32 }
33
34 public static function error($message = null) {
35 if ($message !== null) self::write([
36 'error' => true,
37 'message' => $message,
38 ]);
39 http_response_code(400);
40 exit();
41 }
42
43 public static function write($array) {
44 header('Content-Type: application/json');
45 echo json_encode($array);
46 }
47}