Skip to content

Commit fa3cea2

Browse files
committed
Fix
Signed-off-by: vaidikcode <vaidikbhardwaj00@gmail.com>
1 parent 1c5752a commit fa3cea2

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/main/java/land/oras/Registry.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package land.oras;
22

3-
import java.io.*;
3+
import java.io.InputStream;
4+
import java.io.IOException;
5+
import java.io.BufferedInputStream;
6+
import java.io.ByteArrayInputStream;
7+
import java.io.OutputStream;
48
import java.net.URI;
59
import java.nio.file.Files;
610
import java.nio.file.Path;
@@ -9,7 +13,6 @@
913
import java.security.MessageDigest;
1014
import java.security.NoSuchAlgorithmException;
1115
import java.util.ArrayList;
12-
import java.util.HashMap;
1316
import java.util.List;
1417
import java.util.Map;
1518
import land.oras.auth.*;
@@ -267,10 +270,10 @@ public Manifest pushArtifact(
267270
try (InputStream is = Files.newInputStream(tempArchive)) {
268271
long size = Files.size(tempArchive);
269272
Layer layer = pushBlobStream(containerRef, is, size)
270-
.withMediaType(Const.DEFAULT_BLOB_DIR_MEDIA_TYPE)
273+
.withMediaType(Const.DEFAULT_BLOB_DIR_MEDIA_TYPE) // Use tar+gzip for directories
271274
.withAnnotations(Map.of(
272-
Const.ANNOTATION_TITLE, path.getFileName().toString(),
273-
Const.ANNOTATION_ORAS_UNPACK, "true"
275+
Const.ANNOTATION_TITLE, path.getFileName().toString(),
276+
Const.ANNOTATION_ORAS_UNPACK, "true"
274277
));
275278
layers.add(layer);
276279
LOG.info("Uploaded directory: {}", layer.getDigest());
@@ -279,7 +282,16 @@ public Manifest pushArtifact(
279282
} else {
280283
try (InputStream is = Files.newInputStream(path)) {
281284
long size = Files.size(path);
282-
Layer layer = pushBlobStream(containerRef, is, size);
285+
// Set mediaType for individual files
286+
String mediaType = Files.probeContentType(path);
287+
if (mediaType == null) {
288+
mediaType = "application/octet-stream";
289+
}
290+
Layer layer = pushBlobStream(containerRef, is, size)
291+
.withMediaType(mediaType)
292+
.withAnnotations(Map.of(
293+
Const.ANNOTATION_TITLE, path.getFileName().toString()
294+
));
283295
layers.add(layer);
284296
LOG.info("Uploaded: {}", layer.getDigest());
285297
}

0 commit comments

Comments
 (0)