コード例 #1
0
 public function testDeleteHeader()
 {
     $this->object->setHeader('Sample', 'value');
     $this->assertThat($this->object->getHeader('sample'), $this->equalTo('value'));
     $this->object->deleteHeader('Sample');
     $this->assertThat($this->object->getHeader('sample'), $this->equalTo(null));
 }
コード例 #2
0
 /**
  * @param string $message Message.
  * @param int $code Error code.
  * @param mixed $customMessages Additional information about error.
  *
  * @todo определиться с $customMessages: это mixed или array?
  */
 public function __construct($message, $code = self::ERR_CRITICAL, $customMessages = null)
 {
     $this->response = E()->getResponse();
     if (isset($customMessages)) {
         if (!is_array($customMessages)) {
             $this->customMessages = array($customMessages);
         } else {
             $this->customMessages = $customMessages;
         }
     }
     if ($code == self::ERR_LANG) {
         $this->response->setStatus(503);
         $this->response->setHeader('Retry-After', 20);
         $message = translate($message, E()->getLanguage()->getDefault());
     } elseif ($code == self::ERR_403) {
         $this->response->setStatus(403);
         $message = translate($message, E()->getLanguage()->getCurrent());
     } elseif ($code == self::ERR_404) {
         $this->response->setStatus(404);
         $message = translate($message, E()->getLanguage()->getCurrent());
     } elseif ($code != self::ERR_DB) {
         $message = translate($message, E()->getLanguage()->getCurrent());
     }
     $this->backtrace = debug_backtrace(!DEBUG_BACKTRACE_PROVIDE_OBJECT, 5);
     parent::__construct($message, $code);
 }
コード例 #3
0
ファイル: Router.php プロジェクト: joksnet/php-old
 public static function dispatch()
 {
     $url = new Url();
     $uri = $url->getPath();
     foreach (array_reverse(self::$routes, true) as $route => $class) {
         if (preg_match("~^{$route}\$~", $uri, $params)) {
             Router::$current = $class;
             $return = call_user_func_array(array('Controller', 'dispatch'), array_merge(array($class), array_slice($params, 1)));
             if (!(false === $return)) {
                 $vars = get_class_vars($class);
                 $type = 'text/html';
                 if (isset($vars['type'])) {
                     $type = $vars['type'];
                 }
                 # PHP >= 5.3
                 # if ( isset($class::$type) )
                 #     $type = $class::$type;
                 //Response::setHeader('Content-Type', 'application/xhtml+xml');
                 Response::setHeader('Content-Type', "{$type};charset=UTF-8");
                 Response::setBody($class, $return);
                 return;
             }
             Router::$current = null;
         }
     }
     if (Response::getHttpResponseCode() == 200) {
         $class = 'Error404';
         $return = Controller::dispatch($class);
         Response::setHeader('Content-Type', 'text/html;charset=UTF-8');
         Response::setBody($class, $return);
         //Response::setHeader('HTTP/1.0 404 Not Found');
         //Response::setHttpResponseCode(404);
         //Response::setBody('404', 'Error 404');
     }
 }
コード例 #4
0
ファイル: Web.php プロジェクト: joksnet/php-old
 public static function instance($className, $args = array())
 {
     global $root;
     settype($className, 'string');
     settype($args, 'array');
     $fileName = str_replace('_', DIRECTORY_SEPARATOR, $className);
     if (!is_readable("{$root}/bin/{$fileName}.php")) {
         return false;
     }
     include_once "{$root}/bin/{$fileName}.php";
     if (!class_exists($className, false)) {
         return false;
     }
     $reflection = new ReflectionClass($className);
     if ($reflection->getParentClass()->getName() != 'WebBase') {
         return false;
     }
     if (null === self::$match) {
         self::$match = $className;
     }
     $controller = call_user_func(array(&$reflection, 'newInstance'), $args);
     if ($controller->type && !empty($controller->type) && Response::canSendHeaders()) {
         Response::setHeader('Content-Type', $controller->type, true);
     }
     if (Request::isPost() && method_exists($controller, 'submit')) {
         $controller->submit();
     }
     if (Response::canSendHeaders()) {
         Response::sendResponse();
     }
     if (method_exists($controller, 'dispatch')) {
         $controller->dispatch();
     }
     return true;
 }
コード例 #5
0
ファイル: Runner.php プロジェクト: oksuz/curl
 protected function getCurlResponse(Request $curl, $source)
 {
     $cresp = new Response();
     $header = substr($source, 0, $curl->getHeaderSize());
     $source = substr($source, $curl->getHeaderSize());
     $cresp->setHeader($header)->setUrl($curl->getLastUrl())->setHeaderSize($curl->getHeaderSize())->setResponse($source)->setStatusCode($curl->getStatusCode());
     return $cresp;
 }
コード例 #6
0
ファイル: Controller.php プロジェクト: vincenta/stato
 /**
  * Sets response headers for a file sending
  * 
  * @param array $params
  * @return void
  */
 private function setFileHeaders($params = array())
 {
     $disposition = $params['disposition'];
     if (isset($params['filename'])) {
         $disposition .= '; filename=' . $params['filename'];
     }
     $headers = array('Content-Length' => $params['length'], 'Content-Type' => $params['type'], 'Content-Disposition' => $disposition, 'Content-Transfer-Encoding' => 'binary');
     foreach ($headers as $k => $v) {
         $this->response->setHeader($k, $v);
     }
 }
コード例 #7
0
ファイル: BaseController.php プロジェクト: rolandrajko/BREAD
 protected function _auth($user, $pass)
 {
     if (!Session::exists("auth")) {
         $auth = Request::auth();
         if (is_null($auth) || $auth["user"] !== $user || $auth["pass"] !== $pass) {
             Response::setHeader('WWW-Authenticate: Basic realm="' . Config::$realm . '"');
             return false;
         }
         Session::set("auth", true);
     }
     return true;
 }
コード例 #8
0
ファイル: Request.php プロジェクト: bigpetecz/ulozenka-api-v3
 public function getResponse()
 {
     $headers = array('X-Shop: ' . $this->shopId, 'X-Key: ' . $this->apiKey);
     $content = json_encode($this->data);
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $this->apiUrl . '/' . $this->resource . $this->getQueryString());
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
     curl_setopt($ch, CURLOPT_HEADER, true);
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $this->type);
     if ($this->type === 'POST') {
         curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
     }
     $response = curl_exec($ch);
     $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
     $header = substr($response, 0, $header_size);
     $jsonBody = substr($response, $header_size);
     $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
     $error = curl_error($ch);
     curl_close($ch);
     $response = new Response();
     if ($error) {
         $response->addError(new Error($code, $error));
         return $response;
     }
     if (!preg_match("/2../", $code)) {
         $body = json_decode($jsonBody, true);
         if (isset($body['errors'])) {
             foreach ($body['errors'] as $error) {
                 $response->addError(new Error($error['code'], $error['description']));
             }
             return $response;
         } else {
             $response->addError(new Error($code, 'Unknown error.'));
             return $response;
         }
     }
     $response->setHttpCode($code);
     $response->setHeader($header);
     $response->setJsonBody($jsonBody);
     return $response;
 }
コード例 #9
0
ファイル: Base.php プロジェクト: BackupTheBerlios/medick-svn
 private function set_etag_headers($text)
 {
     $this->response->setHeader('ETag', md5($text));
     $this->logger->debug(sprintf('[Medick] >> ETag set to %s.', md5($text)));
     // get around PHP session
     $this->response->setHeader('Cache-Control', null, false);
     $this->response->setHeader('Expires', null, false);
     $this->response->setHeader('Pragma', null, false);
 }
コード例 #10
0
ファイル: Rest.php プロジェクト: panada/panada
 /**
  * The return data type.
  *
  * @param array  $data
  * @param string $format
  * @param string $ContentType
  *
  * @return string
  */
 public function wrapResponseOutput($data, $format = 'json', $ContentType = 'application')
 {
     Response::setHeader('Content-type', $ContentType . '/' . $format);
     if ($format == 'xml') {
         return Tools::xmlEncode($data);
     } else {
         return json_encode($data);
     }
 }
コード例 #11
0
ファイル: class.doorman.php プロジェクト: runderwood/redberry
 static function challenge()
 {
     $response = new Response('Please provide your credentials.', Response::UNAUTHORIZED);
     $response->setHeader('WWW-Authenticate', 'Basic realm="' . self::$realm . '"');
     die($response);
 }
コード例 #12
0
ファイル: Application.php プロジェクト: niceboy120/verbier
 /**
  * Redirect to a new location
  *
  * @param string $location 
  * @param array $options 
  * @return void
  */
 public function redirect($location, $status = 302)
 {
     $this->response->setStatus($status);
     $this->response->setHeader('Location: ' . $location);
     $this->response->finish();
 }
コード例 #13
0
ファイル: Rfc6455Endpoint.php プロジェクト: staabm/aerys
 public function __invoke(Request $request, Response $response, ...$args)
 {
     if ($request->getMethod() !== "GET") {
         $response->setStatus(HTTP_STATUS["METHOD_NOT_ALLOWED"]);
         $response->setHeader("Allow", "GET");
         $response->setHeader("Aerys-Generic-Response", "enable");
         $response->end();
         return;
     }
     if ($request->getProtocolVersion() !== "1.1") {
         $response->setStatus(HTTP_STATUS["HTTP_VERSION_NOT_SUPPORTED"]);
         $response->setHeader("Aerys-Generic-Response", "enable");
         $response->end();
         return;
     }
     $body = $request->getBody();
     if (!$body instanceof NullBody) {
         $response->setStatus(HTTP_STATUS["BAD_REQUEST"]);
         $response->setReason("Bad Request: Entity body disallowed for websocket endpoint");
         $response->setHeader("Connection", "close");
         $response->setHeader("Aerys-Generic-Response", "enable");
         $response->end();
         return;
     }
     $hasUpgradeWebsocket = false;
     foreach ($request->getHeaderArray("Upgrade") as $value) {
         if (strcasecmp($value, "websocket") === 0) {
             $hasUpgradeWebsocket = true;
             break;
         }
     }
     if (empty($hasUpgradeWebsocket)) {
         $response->setStatus(HTTP_STATUS["UPGRADE_REQUIRED"]);
         $response->setHeader("Aerys-Generic-Response", "enable");
         $response->end();
         return;
     }
     $hasConnectionUpgrade = false;
     foreach ($request->getHeaderArray("Connection") as $value) {
         $values = array_map("trim", explode(",", $value));
         foreach ($values as $token) {
             if (strcasecmp($token, "Upgrade") === 0) {
                 $hasConnectionUpgrade = true;
                 break;
             }
         }
     }
     if (empty($hasConnectionUpgrade)) {
         $response->setStatus(HTTP_STATUS["UPGRADE_REQUIRED"]);
         $response->setReason("Bad Request: \"Connection: Upgrade\" header required");
         $response->setHeader("Upgrade", "websocket");
         $response->setHeader("Aerys-Generic-Response", "enable");
         $response->end();
         return;
     }
     if (!($acceptKey = $request->getHeader("Sec-Websocket-Key"))) {
         $response->setStatus(HTTP_STATUS["BAD_REQUEST"]);
         $response->setReason("Bad Request: \"Sec-Websocket-Key\" header required");
         $response->setHeader("Aerys-Generic-Response", "enable");
         $response->end();
         return;
     }
     if (!in_array("13", $request->getHeaderArray("Sec-Websocket-Version"))) {
         $response->setStatus(HTTP_STATUS["BAD_REQUEST"]);
         $response->setReason("Bad Request: Requested Websocket version unavailable");
         $response->setHeader("Sec-WebSocket-Version", "13");
         $response->setHeader("Aerys-Generic-Response", "enable");
         $response->end();
         return;
     }
     $handshaker = new Handshake($response, $acceptKey);
     $onHandshakeResult = $this->application->onHandshake($request, $handshaker, ...$args);
     if ($onHandshakeResult instanceof \Generator) {
         $onHandshakeResult = (yield from $onHandshakeResult);
     }
     $request->setLocalVar("aerys.websocket", $onHandshakeResult);
     $handshaker->end();
 }
コード例 #14
0
 public function delete($params)
 {
     if (PatientRepo::delete($params['id_patient']) !== FALSE) {
         $_status = 'success';
         $_title = 'Patient supprimé!';
         $_message = 'Le patient a bien été supprimé de la base de données!';
         if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
             Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
         } else {
             $response = new Response();
             $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Patients.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
             $response->send();
         }
     } else {
         $_status = 'error';
         $_title = 'Erreur de suppression!';
         $_message = 'Erreur lors de la suppression. Réessayez!';
         if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
             Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
         } else {
             $response = new Response();
             $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Patients.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
             $response->send();
         }
     }
 }
コード例 #15
0
ファイル: ResponseTest.php プロジェクト: eddmann/rootr
 public function testSetContentTypeHeader()
 {
     $response = new Response(200);
     $response->setHeader('Content-type', 'text/html');
     assertThat($this->readAttribute($response, 'headers'), is(equalTo(['Content-type' => 'text/html'])));
 }
コード例 #16
0
ファイル: CacheControl.php プロジェクト: rawebone/wilson
 /**
  * Sets the HTTP1.0 Pragma header on the response if the no-cache option
  * has been specified to attempt compatibility with older browsers.
  */
 protected function setPragma()
 {
     if (isset($this->parts["no-cache"])) {
         $this->response->setHeader("Pragma", "no-cache");
     }
 }
コード例 #17
0
 public function respond(Response $response)
 {
     $response->clean();
     $response->setHeader('Location: ' . $this->url, 301);
     $response->flush();
 }
コード例 #18
0
ファイル: Controller.php プロジェクト: panada/panada
 public function redirect($location = '', $status = 302)
 {
     if (substr($location, 0, 4) != 'http') {
         $location = $this->location() . $location;
     }
     Response::setHeader('Location', $location, $status);
     return '<html><head><meta http-equiv="refresh" content="0; url=' . $location . '" /></head></html>';
 }
コード例 #19
0
 public function __construct($path)
 {
     parent::setHeader('Location', $path);
     return parent::sendHeaders();
 }
コード例 #20
0
ファイル: Router.php プロジェクト: phamann/edgeconf
 /**
  * Dispatch the router
  *
  * @param Request  $req  Representation the HTTP request to process
  * @param Response $resp Response object to populate with the controller's output
  * @return void
  */
 public function dispatch(Request $req, Response $resp)
 {
     if ($this->options['dirmatch'] == 'ignore') {
         $path = '/' . trim($req->getPath(), '/');
     } elseif ($this->options['dirmatch'] == 'redirect' and substr($req->getPath(), -1, 1) === '/' and $req->getPath() !== '/') {
         $resp->setStatus(301);
         $resp->setHeader('Location', rtrim($req->getPath(), '/'));
         return;
     } else {
         $path = $req->getPath();
     }
     $method = strtolower($req->getMethod());
     $patterns = $this->patterns;
     $controller = null;
     $allowedmethods = array();
     foreach ($this->routes as $pattern => $dest) {
         $pattern = preg_replace_callback('/\\:(\\w+)/', function ($m) use($patterns) {
             return isset($patterns[$m[1]]) ? '(?<' . $m[1] . '>' . $patterns[$m[1]] . ')' : $m[0];
         }, $pattern);
         $pattern = '~^' . str_replace('~', '\\~', $pattern) . '$~' . ($this->options['matchcase'] ? '' : 'i');
         if (preg_match($pattern, $path, $m)) {
             // Handle naive redirects
             if (preg_match('/^(\\/|https?\\:\\/\\/)/i', $dest)) {
                 $dest = preg_replace_callback('/\\{\\{(\\w+)\\}\\}/', function ($m_dest) use($m) {
                     return isset($m[$m_dest[0]]) ? $m[$m_dest[0]] : $m[0];
                 }, $dest);
                 $resp->setStatus(301);
                 $resp->setHeader('Location', $dest);
                 return;
             }
             // Find applicable controller class
             if (!($controllerclass = $this->controllerClass($dest))) {
                 continue;
             }
             // If controller does not support the request method, record the methods it does support (so if no controller is found that can handle the request, an unsupported method error can be returned), then proceed to next route
             $availablemethods = array_intersect($controllerclass::getSupportedMethods(), $this->options['validmethods']);
             if (!in_array($method, $availablemethods)) {
                 $allowedmethods = array_merge($allowedmethods, $availablemethods);
                 continue;
             }
             // Extract and index the URL slugs
             foreach ($m as $key => $value) {
                 if (is_int($key)) {
                     unset($m[$key]);
                 }
             }
             $urlargs = $m;
             // Dispatch the controller.  If controller throws RouteRejectedException (either in contructor or verb method) treat the route as unmatched and attempt to find an alternative
             try {
                 $controller = new $controllerclass($this->di, $req, $resp, $urlargs);
                 if (!method_exists($controller, $method)) {
                     $method = 'all';
                 }
                 $controller->dispatch($method);
             } catch (RouteRejectedException $e) {
                 // TODO: Also consider resetting the $resp object to a blank state
                 $controller = null;
                 continue;
             }
             break;
         }
     }
     // If no controller was found to handle the request, assign a default one
     if (!$controller) {
         if ($allowedmethods) {
             $controllerclass = $this->getDefaultRouteControllerClass('unsupportedmethod');
             $urlargs = array('allowedmethods' => $allowedmethods);
         } else {
             $controllerclass = $this->getDefaultRouteControllerClass('noroute');
             $urlargs = array();
         }
         $controller = new $controllerclass($this->di, $req, $resp, $urlargs);
         if (!method_exists($controller, $method)) {
             $method = 'all';
         }
         $controller->{$method}();
     }
 }
コード例 #21
0
ファイル: Server.php プロジェクト: efueger/aerys
 private function sendPreAppOptionsResponse(Request $request, Response $response)
 {
     $response->setStatus(HTTP_STATUS["OK"]);
     $response->setHeader("Allow", implode(",", $this->options->allowedMethods));
     $response->end(null);
 }
コード例 #22
0
ファイル: Base.php プロジェクト: BackupTheBerlios/medick-svn
 protected function render_json($text, $status = NULL)
 {
     include_once 'action/view/JSON.php';
     $this->response->setHeader('X-JSON', '(' . JSON::encode($text) . ')');
     $this->render_text('', $status);
 }
コード例 #23
0
 public function update($params)
 {
     if (StaticRepo::checkParam($params['Id'], 'Numeric') && StaticRepo::checkParam($params['Prenom'], 'String45') && StaticRepo::checkParam($params['Nom'], 'String45')) {
         // si la modification réussit
         if (MedecinRepo::update($params['Id'], $params['Nom'], $params['Prenom'])) {
             $_status = 'success';
             $_title = 'Médecin modifié!';
             $_message = 'Le médecin <strong>' . $params['Prenom'] . ' ' . strtoupper($params['Nom']) . '</strong> a bien été modifié! ';
             if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
                 Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
             } else {
                 $response = new Response();
                 $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Medecins.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
                 $response->send();
             }
         } else {
             $_status = 'error';
             $_title = 'Erreur de modification!';
             $_message = 'La modification a échoué. Réessayez!';
             if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
                 Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
             } else {
                 $response = new Response();
                 $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Medecins.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
                 $response->send();
             }
         }
         // erreur de params
     } else {
         $_status = 'error';
         $_title = 'Erreur de paramètres!';
         $_message = 'Un des champs est incorrect. Réessayez!';
         if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
             Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
         } else {
             $response = new Response();
             $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Medecins.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
             $response->send();
         }
     }
 }
コード例 #24
0
ファイル: RDV.class.php プロジェクト: xdrm-brackets/projetphp
 public function update($params)
 {
     // si params ok
     if (StaticRepo::checkParam($params['id_consultation'], 'Numeric') && StaticRepo::checkParam($params['jour'], 'Date') && StaticRepo::checkParam($params['heure'], 'Heure') && StaticRepo::checkParam($params['Duree'], 'Heure')) {
         $params['date'] = DateTime::createFromFormat('d/m/Y H:i', $params['jour'] . ' ' . $params['heure']);
         $params['dureeTime'] = $params['Duree'] . ':00';
         // var_dump($params['dureeTime']);
         if (RDVRepo::updateDateTime($params['id_consultation'], $params['date']->format('Y-m-d H:i:00'), $params['dureeTime']) !== FALSE) {
             $_status = 'success';
             $_title = 'Modification effectuée!';
             $_message = 'La consultation du ' . $params['date']->format('d/m/Y') . ' à ' . $params['heure'] . ' a bien été mise à jour.';
             if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
                 Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
             } else {
                 $response = new Response();
                 $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Consultations.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
                 $response->send();
             }
         } else {
             $_status = 'error';
             $_title = 'Erreur lors de la modifiction!';
             $_message = 'La consultation n\'a pas pu être modifiée!';
             if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
                 Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
             } else {
                 $response = new Response();
                 $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Consultations.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
                 $response->send();
             }
         }
     } else {
         $_status = 'error';
         $_title = 'Erreur de paramètre!';
         $_message = 'Date Incorrecte!';
         if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
             Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
         } else {
             $response = new Response();
             $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Consultations.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
             $response->send();
         }
     }
 }