// public function __construct(protected LoggerInterface $logger) {} // //
// public function onRequest(PendingRequest $request): void { $this->logger->info("AlfaBank Request: {$request->getMethod()->value} {$request->getRequest()->resolveEndpoint()}", [ 'headers' => $this->maskHeaders($request->headers()->all()), 'body' => $this->maskBody($request->body()?->all()), ]); } //
//
// public function onResponse(Response $response): void { $this->logger->info("AlfaBank Response: {$response->status()}", [ 'body' => $this->maskBody($response->json()), ]); } //
//
// protected function maskHeaders(array $headers): array { if (isset($headers['Authorization'])) { $headers['Authorization'] = 'Bearer *****'; } return $headers; } //
//
// protected function maskBody(mixed $body): mixed { if (! is_array($body)) { return $body; } $sensitiveKeys = ['pan', 'cvc', 'digestSignatures', 'client_secret', 'refresh_token', 'access_token']; foreach ($body as $key => $value) { if (in_array($key, $sensitiveKeys, true)) { $body[$key] = '*****'; } elseif (is_array($value)) { $body[$key] = $this->maskBody($value); } } return $body; } //
} //