@@ -590,7 +590,9 @@ public Descriptor getDescriptor(ContainerRef containerRef) {
590590 public Descriptor probeDescriptor (ContainerRef ref ) {
591591 Map <String , String > headers = getHeaders (ref );
592592 String digest = validateDockerContentDigest (headers );
593- SupportedAlgorithm .fromDigest (digest );
593+ if (digest != null ) {
594+ SupportedAlgorithm .fromDigest (digest );
595+ }
594596 String contentType = headers .get (Const .CONTENT_TYPE_HEADER .toLowerCase ());
595597 return Descriptor .of (digest , 0L , contentType );
596598 }
@@ -640,12 +642,19 @@ private void validateDockerContentDigest(HttpClient.ResponseWrapper<Path> respon
640642 ensureDigest (digest , computedDigest );
641643 }
642644
643- private String validateDockerContentDigest (HttpClient .ResponseWrapper <?> response ) {
645+ private @ Nullable String validateDockerContentDigest (HttpClient .ResponseWrapper <?> response ) {
644646 return validateDockerContentDigest (response .headers ());
645647 }
646648
647- private String validateDockerContentDigest (Map <String , String > headers ) {
649+ private @ Nullable String validateDockerContentDigest (Map <String , String > headers ) {
648650 String digest = headers .get (Const .DOCKER_CONTENT_DIGEST_HEADER .toLowerCase ());
651+ // This might happen when blob are hosted other storage.
652+ // We need a way to propagate the headers like scoped.
653+ // For now just skip validation
654+ if (digest == null ) {
655+ LOG .warn ("Docker-Content-Digest header not found in response. Skipping validation." );
656+ return null ;
657+ }
649658 SupportedAlgorithm .fromDigest (digest );
650659 return digest ;
651660 }
0 commit comments