@@ -223,27 +223,31 @@ private RevocationInfo processResult(Try<RevocationInfo> result, X509Certificate
223223 if (result .isSuccess ()) {
224224 RevocationInfo revocationInfo = result .get ();
225225 if (revocationInfoList .isEmpty ()) {
226- revocationInfo . ocspResponseAttributes (). put ( RevocationInfo . KEY_CIRCUIT_BREAKER_STATISTICS , circuitBreakerStatistics );
226+ revocationInfo = revocationInfo . withCircuitBreakerStatistics ( circuitBreakerStatistics );
227227 } else {
228- revocationInfoList . get ( 0 ). ocspResponseAttributes (). put ( RevocationInfo . KEY_CIRCUIT_BREAKER_STATISTICS , circuitBreakerStatistics );
228+ addCircuitBreakerStatistics ( revocationInfoList , circuitBreakerStatistics );
229229 }
230230 return revocationInfo ;
231231 }
232+ addCircuitBreakerStatistics (revocationInfoList , circuitBreakerStatistics );
232233 Throwable throwable = result .getCause ();
233234 if (throwable instanceof ResilientUserCertificateOCSPCheckFailedException exception ) {
234- revocationInfoList .get (0 ).ocspResponseAttributes ().put (RevocationInfo .KEY_CIRCUIT_BREAKER_STATISTICS , circuitBreakerStatistics );
235235 exception .setValidationInfo (new ValidationInfo (subjectCertificate , revocationInfoList ));
236236 throw exception ;
237237 }
238238 if (throwable instanceof ResilientUserCertificateRevokedException exception ) {
239- revocationInfoList .get (0 ).ocspResponseAttributes ().put (RevocationInfo .KEY_CIRCUIT_BREAKER_STATISTICS , circuitBreakerStatistics );
240239 exception .setValidationInfo (new ValidationInfo (subjectCertificate , revocationInfoList ));
241240 throw exception ;
242241 }
243- revocationInfoList .get (0 ).ocspResponseAttributes ().put (RevocationInfo .KEY_CIRCUIT_BREAKER_STATISTICS , circuitBreakerStatistics );
244242 throw new ResilientUserCertificateOCSPCheckFailedException (new ValidationInfo (subjectCertificate , revocationInfoList ));
245243 }
246244
245+ private void addCircuitBreakerStatistics (List <RevocationInfo > revocationInfoList ,
246+ CircuitBreakerStatistics circuitBreakerStatistics ) {
247+ revocationInfoList .set (0 , revocationInfoList .get (0 ).withCircuitBreakerStatistics (circuitBreakerStatistics ));
248+ }
249+
250+
247251 private void createAndAddRevocationInfoToList (Throwable throwable , List <RevocationInfo > revocationInfoList ) {
248252 if (throwable instanceof ResilientUserCertificateOCSPCheckFailedException exception ) {
249253 revocationInfoList .addAll ((exception .getValidationInfo ().revocationInfoList ()));
0 commit comments