diff --git a/OrbitalBeat.go b/OrbitalBeat.go index 072eca4..0457a8c 100644 --- a/OrbitalBeat.go +++ b/OrbitalBeat.go @@ -11,6 +11,7 @@ import ( "crypto/x509/pkix" "database/sql" "encoding/base32" + "encoding/base64" "encoding/binary" "encoding/hex" "encoding/pem" @@ -138,8 +139,14 @@ func handleQueryRequest(ctx *fasthttp.RequestCtx, identifier cid.Cid, extraArgum } defer cacheEntry.release() + mh, _ := multihash.Decode(cacheEntry.Entry.Identifier.Hash()) + ctx.Response.Header.Set("Accept-Ranges", "bytes") ctx.Response.Header.Set("ETag", cacheEntry.Entry.Identifier.String()) + if mh.Code == multihash.SHA2_256 { + ctx.Response.Header.Set("Digest", fmt.Sprintf("sha-256=%s", base64.StdEncoding.EncodeToString(mh.Digest))) + } + //ctx.Response.Header.Set("X-IPFS-Path", fmt.Sprintf("/ipfs/%s", cacheEntry.Entry.Identifier.String())) ctx.Response.Header.Set("Cache-Control", "public, max-age=2592000, immutable") filename := path.Base(cacheEntry.Entry.Path)