get($requested_id); if ($data === false) { // there was no data with this id or it could not be readen // set http header header("HTTP/1.0 404 Not Found"); // forbid browser to load javascript from an external location header("Content-Security-Policy: script-src 'self'"); // strict transport security header header("Strict-Transport-Security: max-age=31536000"); } else { // set http header header("HTTP/1.0 200 OK"); // forbid browser to load javascript from an external location header("Content-Security-Policy: script-src 'self'"); // strict transport security header header("Strict-Transport-Security: max-age=31536000"); // set content-type and charset header('Content-Type: application/x-json-encrypted; charset=utf-8'); // send data back echo $data; } break; // write data case 'POST': $type = $query_paramter[1]; // get data send with request $data = file_get_contents('php://input'); switch ($type) { case "polls": $newId = $datahandler->writePoll($data); break; case "users": // get poll id from user data $data_decoded = json_decode($data); $poll_id = $data_decoded->user->poll; $newId = $datahandler->writeUser($poll_id, $data); break; default: throw new Exception("type not defined"); break; } if ($newId === false) { header("HTTP/1.0 500 Internal Server Error"); } else { // set http header header("HTTP/1.0 200 OK"); // forbid browser to load javascript from an external location header("Content-Security-Policy: script-src 'self'"); // strict transport security header header("Strict-Transport-Security: max-age=31536000"); // set content-type and charset header('Content-Type: application/x-json-encrypted; charset=utf-8'); switch ($type) { case "polls": $newData = $datahandler->get($newId); break; case "users": $newDataTmp = json_decode($data); $newDataTmp->user->id = $newId; $newData = json_encode($newDataTmp); break; default: throw new Exception("type not defined"); break; } // send back data echo $newData; } break; // request method is not supported default: // set http header header("HTTP/1.0 400 Bad Request"); // forbid browser to load javascript from an external location header("Content-Security-Policy: script-src 'self'"); // strict transport security header header("Strict-Transport-Security: max-age=31536000"); break; } ?>