es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Guzzle 7 + Guzzle-cache-middleware Guzzle 7 + Guzzle-cache-middleware

Estoy utilizando Guzzle 7 para obtener contenido de una API externa con autenticación básica. Funciona bien. Ahora me gustaría integrar la gestión de caché. Así que he intentado usar este plugin: [Guzzle-cache-middleware][1] y no puedo hacer que funcione correctamente. Puedo obtener la respuesta de la API y mi contenido deseado, pero el directorio de caché no se está poblando.
He buscado por toda la web, pero no puedo resolver esto. ¿Podrías decirme cómo resolver esto? Aquí está mi código:

$username = “xxxxxxx”;
$password = “yyyyyyyyyyy”;
require_once ‘./vendor/autoload.php’;

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use Kevinrob\GuzzleCache\CacheMiddleware;
use Kevinrob\GuzzleCache\Strategy\PublicCacheStrategy;

$stack = HandlerStack::create();
$cache = new CacheMiddleware();
$stack->push($cache, ‘/home/xxxx/xxxxx/guzzle2/cache’);
$client = new Client([
‘handler’ => $stack,
‘base_uri’ => ‘https://api.xxxxx.com/xxx/’,
“timeout” => 30.0,
]);
$json = $client->get(‘zzzzzz.json’, [
‘auth’ => [
$userName,
$password
]
]);
var_dump($json->getHeaderLine(CacheMiddleware::HEADER_CACHE_INFO));

Salida:

string(4) “MISS”

Así que el resultado de la API es diferente al de la caché. Pero los parámetros de encabezado (ETag y Last-Modified) siguen sin cambios y mi carpeta de caché aún está vacía.

¡Gracias por tu ayuda!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que tienes problemas para hacer funcionar correctamente el complemento [Guzzle-cache-middleware][1] con tu código de Guzzle 7. Parece que puedes obtener la respuesta de la API y el contenido deseado, pero el directorio de caché no se está llenando.

    ¿Has intentado verificar los parámetros de encabezado (ETag y Last-Modified) para ver si no han cambiado? Sería útil revisar la documentación del complemento para ver si hay algún paso adicional que debas seguir para llenar el directorio de caché.

    Si todavía tienes problemas, puede ser útil publicar tu código en un foro como Stack Overflow, donde otros desarrolladores pueden ofrecer consejos más específicos.

    ¡Buena suerte!

Comments are closed.