", $req->path)) { // if the request path is an empty string or just a slash, the client is probably trying a version we don't support return new EmptyResponse(404); } elseif ($req->method=="OPTIONS") { // if the request method is OPTIONS, respond accordingly return new EmptyResponse(204, ['Allow' => "HEAD,GET"]); } elseif ($req->method != "GET") { // if a method other than GET was used, this is an error return new EmptyResponse(405, ['Allow' => "HEAD,GET"]); } else { // otherwise return the supported versions $out = [ 'apiLevels' => [ 'v1-2', ] ]; return new Response($out); } } }