Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Symfony retornar gzip desde servicio Rest

Estas en el tema de retornar gzip desde servicio Rest en el foro de Frameworks y PHP orientado a objetos en Foros del Web. buenas, Creé un servicio web en Symfony, haciendo uso del bundle FosRestBundle, que me retorna X registros "en formato Json", de una tabla según los ...
  #1 (permalink)  
Antiguo 08/09/2017, 16:38
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.041
Antigüedad: 11 años, 6 meses
Puntos: 50
retornar gzip desde servicio Rest

buenas,

Creé un servicio web en Symfony, haciendo uso del bundle FosRestBundle, que me retorna X registros "en formato Json", de una tabla según los filtros enviados como parámetros, eso funciona correctamente no tengo ningún problema hay.

Ahora necesito que el rest no me devuelva el Json sino que me devuelva un archivo comprimido gzip. He mirado la documentación del bundle y de PHP pero no logró hacerlo funcionar, alguien tiene un ejemplo o me puede orientar.


intente añadiéndole la cabecera para gzip al resultado del servicio pero no hace nada.


Código PHP:
// view Set Data.
        
$view->setData($response);
        
// view Set Header.
        
$view->setHeader("Content-Encoding""gzip");
        
// return View.
        
return $this->handleView($view); 

Quedo atento, gracias!
  #2 (permalink)  
Antiguo 08/09/2017, 20:22
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.691
Antigüedad: 8 años, 2 meses
Puntos: 193
Respuesta: retornar gzip desde servicio Rest

Saludo

Lo que tienes que hacer en este caso es hacer que el ws
lea el archivo gzip y lo pase a formato base64,
y esto te dará como resultado un string tan grando
como sea el archivo.

Y finalmente el valor que devolverá la función
es, justamente, este string en base64.

Con esto ya la parte que sea cliente y consuma el ws
lo que debe hacer es tomar el string, leerlo,
y decodificarlo en la misma base y guardarlo como un archivo gzip.

__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 09/09/2017, 08:14
Avatar de hhs
hhs
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.844
Antigüedad: 4 años, 4 meses
Puntos: 338
Respuesta: retornar gzip desde servicio Rest

Estas buscando en el lugar equivocado, esa no es responsabilidad de la Api. Sí quieres mandar una respuesta comprimida tienes que configurar tu servidor de HTTP.
Te dejo un articulo breve de como puedes configurar apache o nginx https://www.vultr.com/docs/gzip-comp...ache-and-nginx
Sí estas usando IIS bueno te toca buscar algo.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.



La zona horaria es GMT -6. Ahora son las 19:32.