Skip to content

Commit 4066483

Browse files
committed
humanize size in header
1 parent 6620e89 commit 4066483

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

internal/explore/explore.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"time"
2424

2525
"github.com/digitorus/timestamp"
26+
"github.com/dustin/go-humanize"
2627
"github.com/fxamacker/cbor/v2"
2728
"github.com/google/go-containerregistry/pkg/authn"
2829
"github.com/google/go-containerregistry/pkg/logs"
@@ -1543,9 +1544,17 @@ func headerData(ref name.Reference, desc v1.Descriptor) *HeaderData {
15431544
QuerySep: sep,
15441545
EscapedMediaType: url.QueryEscape(string(desc.MediaType)),
15451546
MediaTypeLink: getLink(string(desc.MediaType)),
1547+
HumanSize: humanizeSize(desc.Size),
15461548
}
15471549
}
15481550

1551+
func humanizeSize(size int64) string {
1552+
if size == 0 {
1553+
return "" // Default to not present.
1554+
}
1555+
return humanize.IBytes(uint64(size))
1556+
}
1557+
15491558
func renderHeader(w http.ResponseWriter, r *http.Request, fname string, prefix string, refs string, kind string, mediaType types.MediaType, size int64, f httpserve.File, ctype string) error {
15501559
log.Printf("ctype=%q", ctype)
15511560
ref, err := name.ParseReference(refs)

internal/explore/templates.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ input ~ .tab { /* grey line between tab and contents */
305305
<div class="tab content1">
306306
Content-Type: {{if .MediaTypeLink}}<a class="mt" href="{{.MediaTypeLink}}">{{.Descriptor.MediaType}}</a>{{else}}{{.Descriptor.MediaType}}{{end}}<br>
307307
Docker-Content-Digest: <a class="mt" href="/{{.Handler}}{{$.Repo}}@{{.Descriptor.Digest}}{{if .EscapedMediaType}}{{.QuerySep}}mt={{.EscapedMediaType}}{{end}}&size={{.Descriptor.Size}}">{{.Descriptor.Digest}}</a><br>
308-
Content-Length: {{if .SizeLink}}<a class="mt" href="{{.SizeLink}}">{{.Descriptor.Size}}</a>{{else}}{{.Descriptor.Size}}{{end}}<br>
308+
<span{{if .HumanSize}} title="{{.HumanSize}}"{{end}}>Content-Length: {{if .SizeLink}}<a class="mt" href="{{.SizeLink}}">{{.Descriptor.Size}}</a>{{else}}{{.Descriptor.Size}}{{end}}</span><br>
309309
{{if $.Subject}}OCI-Subject: <a class="mt" href="/?image={{$.Repo}}@{{.Subject}}">{{.Subject}}</a><br>{{end}}
310310
</div>
311311
<div class="tab content2">
@@ -361,6 +361,7 @@ type HeaderData struct {
361361
QuerySep string
362362
MediaTypeLink string
363363
SizeLink string
364+
HumanSize string
364365
Referrers bool
365366
Subject string
366367
}

0 commit comments

Comments
 (0)