public function send()
 {
     foreach ($this->response->headers() as $name => $value) {
         header("{$name}: {$value}", true, $this->response->getStatus());
     }
     echo $this->response->getBody();
 }
 protected function request($method, $url, array $requestParameters = [])
 {
     $request = $this->prepareRequest($method, $url, $requestParameters);
     $response = new Response();
     $app = $this->app;
     $this->response = $app($request, $response);
     $this->jsonResponseData = json_decode((string) $this->response->getBody(), true);
 }
Exemplo n.º 3
0
 private function request($method, $path, $data = array(), $optionalHeaders = array())
 {
     //Make method uppercase
     $method = strtoupper($method);
     $options = array('REQUEST_METHOD' => $method, 'REQUEST_URI' => $path);
     if ($method === 'GET') {
         $options['QUERY_STRING'] = http_build_query($data);
     } else {
         $params = json_encode($data);
     }
     // Prepare a mock environment
     $env = Environment::mock(array_merge($options, $optionalHeaders));
     $uri = Uri::createFromEnvironment($env);
     $headers = Headers::createFromEnvironment($env);
     $cookies = $this->cookies;
     $serverParams = $env->all();
     $body = new RequestBody();
     // Attach JSON request
     if (isset($params)) {
         $headers->set('Content-Type', 'application/json;charset=utf8');
         $body->write($params);
     }
     $this->request = new Request($method, $uri, $headers, $cookies, $serverParams, $body);
     $response = new Response();
     // Invoke request
     $app = $this->app;
     $this->response = $app($this->request, $response);
     // Return the application output.
     return (string) $this->response->getBody();
 }
Exemplo n.º 4
0
 /**
  * It performs the setup of a reactPHP response from a SlimpPHP response
  * object and finishes the communication
  *
  * @param \React\Http\Response $reactResp    ReactPHP native response object
  * @param \Slim\Http\Response  $slimResponse SlimPHP native response object
  * @param boolean              $endRequest   If true, response flush will be finished
  *
  * @return void
  */
 static function setReactResponse(\React\Http\Response $reactResp, \Slim\Http\Response $slimResponse, $endRequest = false)
 {
     $headers = static::reduceHeaders($slimResponse->getHeaders());
     $reactResp->writeHead($slimResponse->getStatusCode(), $headers);
     $reactResp->write($slimResponse->getBody());
     if ($endRequest === true) {
         $reactResp->end();
     }
 }
Exemplo n.º 5
0
 /**
  * withJson
  * support JSONP
  *
  * @return void
  */
 public static function withJson(Response $response, $data, $status = 200, $encodingOptions = 0)
 {
     $body = $response->getBody();
     $body->rewind();
     $s = json_encode($data, $encodingOptions);
     $type = "application/json";
     // check jsonp callback
     if (!empty($_GET) && !empty($_GET['callback'])) {
         $s = $_GET['callback'] . "({$s});";
         $type = "text/javascript";
     }
     $body->write($s);
     return $response->withStatus($status)->withHeader('Content-Type', $type . ';charset=utf-8');
 }
Exemplo n.º 6
0
 public function __invoke(Request $request, Response $response)
 {
     $this->logger->info('log info');
     $response->getBody()->write('Hello world');
     return $response;
 }
Exemplo n.º 7
0
 public function getEmpleadosAll(Request $request, Response $response)
 {
     $idEmpleado = $request->getAttribute("idEmpleado");
     $idServicio = $request->getAttribute("idServicio");
     $query = "SELECT DISTINCT " . "emp.id as idEmpleado," . "ser.id as idServicio," . "CONCAT(emp.nombres, ' ', emp.apellidos) AS empleado," . "ser.nombre as servicio, " . "'' as tiempoEstimado, " . "'' as cliente, " . "'' as turnoActual, " . "su.nombre as sucursal, " . "em.razonSocial as Empresa, " . "su.id as idSucursal " . "FROM " . "empleado emp " . "INNER JOIN " . "serviciosempleado seremp " . "ON(seremp.idEmpleado = emp.id) " . "INNER JOIN servicio ser " . "ON(ser.id = seremp.idServicio) " . "INNER JOIN sucursal su " . "ON(su.id = emp.idSucursal) " . "INNER JOIN empresa em " . "ON(em.id = su.idEmpresa) " . "WHERE emp.id = {$idEmpleado} AND " . "ser.id = {$idServicio} AND " . "emp.estadoOnline = 'ACTIVO' AND " . "ser.estado = 'ACTIVO'";
     $data = DB::select(DB::raw($query));
     for ($i = 0; $i < count($data); $i++) {
         //CALCULAR TIEMPO
         $query = "SELECT " . "((COALESCE(AVG(TIMESTAMPDIFF(SECOND,fechaInicio,fechaFinal)),0) * turnosFaltantes.faltantes)) as tiempoEstimado, " . "turnosFaltantes.faltantes as turnFaltantes " . "FROM " . "( " . "  SELECT " . "    count(t.id) as faltantes " . "    FROM " . "    turno as t " . "    WHERE " . "    t.idEmpleado = " . $data[$i]->idEmpleado . " AND " . "    t.idServicio = " . $data[$i]->idServicio . " AND " . "    t.estadoTurno <> 'TERMINADO' AND t.estadoTurno <> 'CANCELADO'" . ") as turnosFaltantes, " . "turno " . "WHERE idEmpleado = " . $data[$i]->idEmpleado . " AND " . "idServicio = " . $data[$i]->idServicio . " AND " . "estadoTurno = 'TERMINADO' " . "LIMIT 1";
         $dataTiempo = DB::select(DB::raw($query));
         $query = "SELECT " . "tu.turno as turnoActual, " . "CONCAT(cl.nombres,' ',cl.apellidos) as cliente " . "FROM turno as tu " . "INNER JOIN " . "cliente as cl " . "ON(cl.id = tu.idCliente) " . "WHERE tu.idEmpleado = " . $data[$i]->idEmpleado . " AND " . "tu.idServicio = " . $data[$i]->idServicio . " AND " . "(tu.estadoTurno = 'ATENDIENDO' OR " . "tu.estadoTurno = 'CONFIRMADO' OR tu.estadoTurno = 'SOLICITADO') " . "ORDER BY " . "tu.fechaSolicitud DESC " . "LIMIT 1";
         $dataCliente = DB::select(DB::raw($query));
         if (count($dataTiempo) > 0) {
             $val = ceil($dataTiempo[0]->tiempoEstimado / 60);
             $str = " minuto";
             if ($val == 0) {
                 //5 min
                 $val = ceil(5 * $dataTiempo[0]->turnFaltantes);
             }
             if ($val != 1) {
                 $str .= "s";
             }
             $data[$i]->tiempoEstimado = strval($val) . $str;
         } else {
             $data[$i]->tiempoEstimado = "0 minutos";
         }
         $data[$i]->turnoActual = 0;
         $data[$i]->cliente = "";
         if (count($dataCliente) > 0) {
             $data[$i]->turnoActual = $dataCliente[0]->turnoActual;
             $data[$i]->cliente = $dataCliente[0]->cliente;
         }
     }
     $response->getBody()->write(json_encode($data));
     return $response;
 }
 public function testFinalize()
 {
     $method = new \ReflectionMethod('Slim\\App', 'finalize');
     $method->setAccessible(true);
     $response = new Response();
     $response->getBody()->write('foo');
     $response = $method->invoke(new App(), $response);
     $this->assertTrue($response->hasHeader('Content-Length'));
     $this->assertEquals('3', $response->getHeaderLine('Content-Length'));
 }
 protected function responseData()
 {
     return json_decode((string) $this->response->getBody(), true);
 }
Exemplo n.º 10
0
 public function render(Response $response, $template, $args)
 {
     $response->getBody()->write($this->fetch($template, $args));
     return $response;
 }
Exemplo n.º 11
0
 /**
  * Redirect to video file.
  *
  * @param Request  $request  PSR-7 request
  * @param Response $response PSR-7 response
  *
  * @return Response HTTP response
  */
 public function redirect(Request $request, Response $response)
 {
     $params = $request->getQueryParams();
     if (isset($params['url'])) {
         try {
             $url = $this->download->getURL($params['url'], $params['format']);
             return $response->withRedirect($url);
         } catch (\Exception $e) {
             $response->getBody()->write($e->getMessage());
             return $response->withHeader('Content-Type', 'text/plain');
         }
     }
 }
Exemplo n.º 12
0
 /**
  * Returns response body as a string
  *
  * @return string
  */
 public function getResponse()
 {
     return (string) $this->response->getBody();
 }
Exemplo n.º 13
0
 protected function getJsonBody(Response $response)
 {
     return json_decode((string) $response->getBody(), true);
 }
Exemplo n.º 14
0
function render_json(\Slim\Http\Response $r, $object)
{
    $r->getBody()->write(json_encode($object));
    return $r;
}
Exemplo n.º 15
0
 public function getReservaByCliente(Request $request, Response $response)
 {
     $idCliente = $request->getAttribute("idCliente");
     $fecha_actual = date("Y/m/d");
     $query = "SELECT s.nombre AS nombreSucursal, se.nombre AS nombreServicio, t . *, e.nombres as nombreEmpleado, e.apellidos as apellidoEmpleado, em.razonSocial AS nombreEmpresa\n                FROM turno t\n                INNER JOIN sucursal s ON s.id = t.idSucursal\n                INNER JOIN servicio se ON se.id = t.idServicio\n                INNER JOIN empleado e ON e.id = t.idEmpleado\n                INNER JOIN empresa em ON em.id = s.idEmpresa\n                WHERE t.idCliente ='{$idCliente}'\n                AND t.fechaReserva >=  '{$fecha_actual}'\n                AND t.reserva = 'A'\n                ";
     $data = DB::select(DB::raw($query));
     $response->getBody()->write(json_encode($data));
     return $response;
 }