diff --git a/downloader/download.go b/downloader/download.go index 03b2729..4964eba 100644 --- a/downloader/download.go +++ b/downloader/download.go @@ -176,9 +176,8 @@ func (r request) receiveFile(clnt pool.Object, objectAddress *object.Address) { contentType = val } } - r.Response.Header.Set(hdrObjectID, obj.ID().String()) - r.Response.Header.Set(hdrOwnerID, obj.OwnerID().String()) - r.Response.Header.Set(hdrContainerID, obj.ContainerID().String()) + + idsToResponse(&r.Response, obj) if len(contentType) == 0 { if readDetector.err != nil { diff --git a/downloader/head.go b/downloader/head.go index 6ec14e3..9093eb1 100644 --- a/downloader/head.go +++ b/downloader/head.go @@ -63,9 +63,8 @@ func (r request) headObject(clnt pool.Object, objectAddress *object.Address) { contentType = val } } - r.Response.Header.Set(hdrObjectID, obj.ID().String()) - r.Response.Header.Set(hdrOwnerID, obj.OwnerID().String()) - r.Response.Header.Set(hdrContainerID, obj.ContainerID().String()) + + idsToResponse(&r.Response, obj) if len(contentType) == 0 { objRange := object.NewRange() @@ -86,6 +85,12 @@ func (r request) headObject(clnt pool.Object, objectAddress *object.Address) { r.SetContentType(contentType) } +func idsToResponse(resp *fasthttp.Response, obj *object.Object) { + resp.Header.Set(hdrObjectID, obj.ID().String()) + resp.Header.Set(hdrOwnerID, obj.OwnerID().String()) + resp.Header.Set(hdrContainerID, obj.ContainerID().String()) +} + // HeadByAddress handles head requests using simple cid/oid format. func (d *Downloader) HeadByAddress(c *fasthttp.RequestCtx) { d.byAddress(c, request.headObject)