diff --git a/pkg/client/object.go b/pkg/client/object.go index 404272f..601bbdc 100644 --- a/pkg/client/object.go +++ b/pkg/client/object.go @@ -650,14 +650,14 @@ func (c *Client) getObjectHeaderV2(ctx context.Context, p *ObjectHeaderParams, o switch v := resp.GetBody().GetHeaderPart().(type) { case nil: return nil, errNilObjectPart - case *v2object.GetHeaderPartShort: + case *v2object.ShortHeader: if !p.short { return nil, errors.Errorf("wrong header part type: expected %T, received %T", - (*v2object.GetHeaderPartFull)(nil), (*v2object.GetHeaderPartShort)(nil), + (*v2object.ShortHeader)(nil), (*v2object.HeaderWithSignature)(nil), ) } - h := v.GetShortHeader() + h := v hdr = new(v2object.Header) hdr.SetPayloadLength(h.GetPayloadLength()) @@ -665,14 +665,14 @@ func (c *Client) getObjectHeaderV2(ctx context.Context, p *ObjectHeaderParams, o hdr.SetOwnerID(h.GetOwnerID()) hdr.SetObjectType(h.GetObjectType()) hdr.SetCreationEpoch(h.GetCreationEpoch()) - case *v2object.GetHeaderPartFull: + case *v2object.HeaderWithSignature: if p.short { return nil, errors.Errorf("wrong header part type: expected %T, received %T", - (*v2object.GetHeaderPartShort)(nil), (*v2object.GetHeaderPartFull)(nil), + (*v2object.HeaderWithSignature)(nil), (*v2object.ShortHeader)(nil), ) } - hdrWithSig := v.GetHeaderWithSignature() + hdrWithSig := v if hdrWithSig == nil { return nil, errNilObjectPart } diff --git a/v2/object/convert.go b/v2/object/convert.go index ddeafb1..5407578 100644 --- a/v2/object/convert.go +++ b/v2/object/convert.go @@ -1023,62 +1023,6 @@ func HeadRequestFromGRPCMessage(m *object.HeadRequest) *HeadRequest { return r } -func GetHeaderPartFullToGRPCMessage(r *GetHeaderPartFull) *object.HeadResponse_Body_Header { - if r == nil { - return nil - } - - m := new(object.HeadResponse_Body_Header) - - m.SetHeaderWithSignature( - HeaderWithSignatureToGRPCMessage(r.GetHeaderWithSignature()), - ) - - return m -} - -func GetHeaderPartFullFromGRPCMessage(m *object.HeadResponse_Body_Header) *GetHeaderPartFull { - if m == nil { - return nil - } - - r := new(GetHeaderPartFull) - - r.SetHeaderWithSignature( - HeaderWithSignatureFromGRPCMessage(m.GetHeaderWithSignature()), - ) - - return r -} - -func GetHeaderPartShortToGRPCMessage(r *GetHeaderPartShort) *object.HeadResponse_Body_ShortHeader { - if r == nil { - return nil - } - - m := new(object.HeadResponse_Body_ShortHeader) - - m.SetShortHeader( - ShortHeaderToGRPCMessage(r.GetShortHeader()), - ) - - return m -} - -func GetHeaderPartShortFromGRPCMessage(m *object.HeadResponse_Body_ShortHeader) *GetHeaderPartShort { - if m == nil { - return nil - } - - r := new(GetHeaderPartShort) - - r.SetShortHeader( - ShortHeaderFromGRPCMessage(m.GetShortHeader()), - ) - - return r -} - func HeadResponseBodyToGRPCMessage(r *HeadResponseBody) *object.HeadResponse_Body { if r == nil { return nil @@ -1088,13 +1032,13 @@ func HeadResponseBodyToGRPCMessage(r *HeadResponseBody) *object.HeadResponse_Bod switch v := r.GetHeaderPart(); t := v.(type) { case nil: - case *GetHeaderPartFull: + case *HeaderWithSignature: m.SetHeader( - GetHeaderPartFullToGRPCMessage(t), + HeaderWithSignatureToGRPCMessage(t), ) - case *GetHeaderPartShort: + case *ShortHeader: m.SetShortHeader( - GetHeaderPartShortToGRPCMessage(t), + ShortHeaderToGRPCMessage(t), ) default: panic(fmt.Sprintf("unknown header part %T", t)) @@ -1114,11 +1058,11 @@ func HeadResponseBodyFromGRPCMessage(m *object.HeadResponse_Body) *HeadResponseB case nil: case *object.HeadResponse_Body_Header: r.SetHeaderPart( - GetHeaderPartFullFromGRPCMessage(v), + HeaderWithSignatureFromGRPCMessage(v.Header), ) case *object.HeadResponse_Body_ShortHeader: r.SetHeaderPart( - GetHeaderPartShortFromGRPCMessage(v), + ShortHeaderFromGRPCMessage(v.ShortHeader), ) default: panic(fmt.Sprintf("unknown header part %T", v)) diff --git a/v2/object/grpc/service.go b/v2/object/grpc/service.go index 7acad62..9b53705 100644 --- a/v2/object/grpc/service.go +++ b/v2/object/grpc/service.go @@ -323,38 +323,6 @@ func (m *HeadRequest) SetVerifyHeader(v *session.RequestVerificationHeader) { } } -// GetShortHeader returns short header of the object. -func (m *HeadResponse_Body_ShortHeader) GetShortHeader() *ShortHeader { - if m != nil { - return m.ShortHeader - } - - return nil -} - -// SetShortHeader sets short header of the object. -func (m *HeadResponse_Body_ShortHeader) SetShortHeader(v *ShortHeader) { - if m != nil { - m.ShortHeader = v - } -} - -// GetHeaderWithSignature returns object header. -func (m *HeadResponse_Body_Header) GetHeaderWithSignature() *HeaderWithSignature { - if m != nil { - return m.Header - } - - return nil -} - -// SetHeaderWithSignature sets object header. -func (m *HeadResponse_Body_Header) SetHeaderWithSignature(v *HeaderWithSignature) { - if m != nil { - m.Header = v - } -} - // SetHeader sets object header. func (m *HeaderWithSignature) SetHeader(v *Header) { if m != nil { @@ -370,16 +338,20 @@ func (m *HeaderWithSignature) SetSignature(v *refs.Signature) { } // SetHeader sets full header of the object. -func (m *HeadResponse_Body) SetHeader(v *HeadResponse_Body_Header) { +func (m *HeadResponse_Body) SetHeader(v *HeaderWithSignature) { if m != nil { - m.Head = v + m.Head = &HeadResponse_Body_Header{ + Header: v, + } } } // SetShortHeader sets short header of the object. -func (m *HeadResponse_Body) SetShortHeader(v *HeadResponse_Body_ShortHeader) { +func (m *HeadResponse_Body) SetShortHeader(v *ShortHeader) { if m != nil { - m.Head = v + m.Head = &HeadResponse_Body_ShortHeader{ + ShortHeader: v, + } } } diff --git a/v2/object/marshal.go b/v2/object/marshal.go index b814737..fc71f56 100644 --- a/v2/object/marshal.go +++ b/v2/object/marshal.go @@ -1016,16 +1016,16 @@ func (r *HeadResponseBody) StableMarshal(buf []byte) ([]byte, error) { if r.hdrPart != nil { switch v := r.hdrPart.(type) { - case *GetHeaderPartFull: + case *HeaderWithSignature: if v != nil { - _, err := proto.NestedStructureMarshal(headRespBodyHeaderField, buf, v.hdr) + _, err := proto.NestedStructureMarshal(headRespBodyHeaderField, buf, v) if err != nil { return nil, err } } - case *GetHeaderPartShort: + case *ShortHeader: if v != nil { - _, err := proto.NestedStructureMarshal(headRespBodyShortHeaderField, buf, v.hdr) + _, err := proto.NestedStructureMarshal(headRespBodyShortHeaderField, buf, v) if err != nil { return nil, err } @@ -1045,13 +1045,13 @@ func (r *HeadResponseBody) StableSize() (size int) { if r.hdrPart != nil { switch v := r.hdrPart.(type) { - case *GetHeaderPartFull: + case *HeaderWithSignature: if v != nil { - size += proto.NestedStructureSize(headRespBodyHeaderField, v.hdr) + size += proto.NestedStructureSize(headRespBodyHeaderField, v) } - case *GetHeaderPartShort: + case *ShortHeader: if v != nil { - size += proto.NestedStructureSize(headRespBodyShortHeaderField, v.hdr) + size += proto.NestedStructureSize(headRespBodyShortHeaderField, v) } default: panic("unknown one of object put request body type") diff --git a/v2/object/marshal_test.go b/v2/object/marshal_test.go index 142b423..ee79a3f 100644 --- a/v2/object/marshal_test.go +++ b/v2/object/marshal_test.go @@ -611,13 +611,9 @@ func generateHeadResponseBody(flag bool) *object.HeadResponseBody { var part object.GetHeaderPart if flag { - short := new(object.GetHeaderPartShort) - short.SetShortHeader(generateShortHeader("short id")) - part = short + part = generateShortHeader("short id") } else { - full := new(object.GetHeaderPartFull) - full.SetHeaderWithSignature(generateHeaderWithSignature()) - part = full + part = generateHeaderWithSignature() } req.SetHeaderPart(part) diff --git a/v2/object/test/client_test.go b/v2/object/test/client_test.go index 323320e..43590f0 100644 --- a/v2/object/test/client_test.go +++ b/v2/object/test/client_test.go @@ -161,11 +161,8 @@ func testHeadResponse() *object.HeadResponse { shortHdr := new(object.ShortHeader) shortHdr.SetCreationEpoch(100) - hdrPart := new(object.GetHeaderPartShort) - hdrPart.SetShortHeader(shortHdr) - body := new(object.HeadResponseBody) - body.SetHeaderPart(hdrPart) + body.SetHeaderPart(shortHdr) meta := new(session.ResponseMetaHeader) meta.SetTTL(1) diff --git a/v2/object/types.go b/v2/object/types.go index 9d50cbf..7a94c5d 100644 --- a/v2/object/types.go +++ b/v2/object/types.go @@ -151,14 +151,6 @@ type GetHeaderPart interface { getHeaderPart() } -type GetHeaderPartFull struct { - hdr *HeaderWithSignature -} - -type GetHeaderPartShort struct { - hdr *ShortHeader -} - type HeadResponseBody struct { hdrPart GetHeaderPart } @@ -292,6 +284,8 @@ func (h *ShortHeader) SetPayloadLength(v uint64) { } } +func (h *ShortHeader) getHeaderPart() {} + func (a *Attribute) GetKey() string { if a != nil { return a.key @@ -586,6 +580,8 @@ func (h *HeaderWithSignature) SetSignature(v *refs.Signature) { } } +func (h *HeaderWithSignature) getHeaderPart() {} + func (o *Object) GetObjectID() *refs.ObjectID { if o != nil { return o.objectID @@ -1240,38 +1236,6 @@ func (r *HeadRequest) SetVerificationHeader(v *session.RequestVerificationHeader } } -func (h *GetHeaderPartFull) GetHeaderWithSignature() *HeaderWithSignature { - if h != nil { - return h.hdr - } - - return nil -} - -func (h *GetHeaderPartFull) SetHeaderWithSignature(v *HeaderWithSignature) { - if h != nil { - h.hdr = v - } -} - -func (*GetHeaderPartFull) getHeaderPart() {} - -func (h *GetHeaderPartShort) GetShortHeader() *ShortHeader { - if h != nil { - return h.hdr - } - - return nil -} - -func (h *GetHeaderPartShort) SetShortHeader(v *ShortHeader) { - if h != nil { - h.hdr = v - } -} - -func (*GetHeaderPartShort) getHeaderPart() {} - func (r *HeadResponseBody) GetHeaderPart() GetHeaderPart { if r != nil { return r.hdrPart