Add Raw flag to Get and Head request bodies

Raw flag provides the ability to switch the expected representation
of the object between the physically stored and the system-wide.
The response to the request may vary when the flag is set for some
classes of objects (e.g. linking).
remotes/KirillovDenis/feature/refactor-sig-rpc
Leonard Lyubich 2020-01-20 18:26:29 +03:00
parent e585cf90b2
commit 5bd19fe0d2
3 changed files with 144 additions and 53 deletions

View File

@ -221,6 +221,7 @@ in distributed system.
| Field | Type | Label | Description | | Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- | | ----- | ---- | ----- | ----------- |
| Address | [refs.Address](#refs.Address) | | Address of object (container id + object id) | | Address | [refs.Address](#refs.Address) | | Address of object (container id + object id) |
| Raw | [bool](#bool) | | Raw is the request flag of a physically stored representation of an object |
| Meta | [service.RequestMetaHeader](#service.RequestMetaHeader) | | RequestMetaHeader contains information about request meta headers (should be embedded into message) | | Meta | [service.RequestMetaHeader](#service.RequestMetaHeader) | | RequestMetaHeader contains information about request meta headers (should be embedded into message) |
| Verify | [service.RequestVerificationHeader](#service.RequestVerificationHeader) | | RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message) | | Verify | [service.RequestVerificationHeader](#service.RequestVerificationHeader) | | RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message) |
@ -247,6 +248,7 @@ in distributed system.
| ----- | ---- | ----- | ----------- | | ----- | ---- | ----- | ----------- |
| Address | [refs.Address](#refs.Address) | | Address of object (container id + object id) | | Address | [refs.Address](#refs.Address) | | Address of object (container id + object id) |
| FullHeaders | [bool](#bool) | | FullHeaders can be set true for extended headers in the object | | FullHeaders | [bool](#bool) | | FullHeaders can be set true for extended headers in the object |
| Raw | [bool](#bool) | | Raw is the request flag of a physically stored representation of an object |
| Meta | [service.RequestMetaHeader](#service.RequestMetaHeader) | | RequestMetaHeader contains information about request meta headers (should be embedded into message) | | Meta | [service.RequestMetaHeader](#service.RequestMetaHeader) | | RequestMetaHeader contains information about request meta headers (should be embedded into message) |
| Verify | [service.RequestVerificationHeader](#service.RequestVerificationHeader) | | RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message) | | Verify | [service.RequestVerificationHeader](#service.RequestVerificationHeader) | | RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message) |

View File

@ -33,6 +33,8 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type GetRequest struct { type GetRequest struct {
// Address of object (container id + object id) // Address of object (container id + object id)
Address refs.Address `protobuf:"bytes,1,opt,name=Address,proto3" json:"Address"` Address refs.Address `protobuf:"bytes,1,opt,name=Address,proto3" json:"Address"`
// Raw is the request flag of a physically stored representation of an object
Raw bool `protobuf:"varint,2,opt,name=Raw,proto3" json:"Raw,omitempty"`
// RequestMetaHeader contains information about request meta headers (should be embedded into message) // RequestMetaHeader contains information about request meta headers (should be embedded into message)
service.RequestMetaHeader `protobuf:"bytes,98,opt,name=Meta,proto3,embedded=Meta" json:"Meta"` service.RequestMetaHeader `protobuf:"bytes,98,opt,name=Meta,proto3,embedded=Meta" json:"Meta"`
// RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message) // RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message)
@ -78,6 +80,13 @@ func (m *GetRequest) GetAddress() refs.Address {
return refs.Address{} return refs.Address{}
} }
func (m *GetRequest) GetRaw() bool {
if m != nil {
return m.Raw
}
return false
}
type GetResponse struct { type GetResponse struct {
// Types that are valid to be assigned to R: // Types that are valid to be assigned to R:
// *GetResponse_Object // *GetResponse_Object
@ -448,6 +457,8 @@ type HeadRequest struct {
Address Address `protobuf:"bytes,1,opt,name=Address,proto3,customtype=Address" json:"Address"` Address Address `protobuf:"bytes,1,opt,name=Address,proto3,customtype=Address" json:"Address"`
// FullHeaders can be set true for extended headers in the object // FullHeaders can be set true for extended headers in the object
FullHeaders bool `protobuf:"varint,2,opt,name=FullHeaders,proto3" json:"FullHeaders,omitempty"` FullHeaders bool `protobuf:"varint,2,opt,name=FullHeaders,proto3" json:"FullHeaders,omitempty"`
// Raw is the request flag of a physically stored representation of an object
Raw bool `protobuf:"varint,3,opt,name=Raw,proto3" json:"Raw,omitempty"`
// RequestMetaHeader contains information about request meta headers (should be embedded into message) // RequestMetaHeader contains information about request meta headers (should be embedded into message)
service.RequestMetaHeader `protobuf:"bytes,98,opt,name=Meta,proto3,embedded=Meta" json:"Meta"` service.RequestMetaHeader `protobuf:"bytes,98,opt,name=Meta,proto3,embedded=Meta" json:"Meta"`
// RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message) // RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message)
@ -493,6 +504,13 @@ func (m *HeadRequest) GetFullHeaders() bool {
return false return false
} }
func (m *HeadRequest) GetRaw() bool {
if m != nil {
return m.Raw
}
return false
}
type HeadResponse struct { type HeadResponse struct {
// Object without payload // Object without payload
Object *Object `protobuf:"bytes,1,opt,name=Object,proto3" json:"Object,omitempty"` Object *Object `protobuf:"bytes,1,opt,name=Object,proto3" json:"Object,omitempty"`
@ -865,59 +883,60 @@ func init() {
func init() { proto.RegisterFile("object/service.proto", fileDescriptor_dfcdf610ade6a9ce) } func init() { proto.RegisterFile("object/service.proto", fileDescriptor_dfcdf610ade6a9ce) }
var fileDescriptor_dfcdf610ade6a9ce = []byte{ var fileDescriptor_dfcdf610ade6a9ce = []byte{
// 831 bytes of a gzipped FileDescriptorProto // 842 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xcf, 0x4f, 0xdb, 0x48, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4b, 0x4f, 0xe3, 0x56,
0x14, 0xce, 0x24, 0xc1, 0xc0, 0x8b, 0x03, 0x68, 0xc8, 0xb2, 0x91, 0x17, 0x05, 0x64, 0xa1, 0xdd, 0x14, 0xce, 0x8d, 0x83, 0x81, 0x13, 0x07, 0xa2, 0x4b, 0x4a, 0x23, 0x17, 0x05, 0x64, 0xa1, 0x36,
0xac, 0x56, 0x71, 0x58, 0x56, 0x02, 0x0e, 0x70, 0xd8, 0x24, 0x82, 0x70, 0x58, 0xc1, 0x1a, 0x84, 0x55, 0x15, 0x87, 0x52, 0x09, 0x58, 0xc0, 0xa2, 0x49, 0x04, 0x61, 0x51, 0x41, 0x2f, 0x08, 0xa9,
0xd4, 0xde, 0x1c, 0x67, 0xf2, 0xa3, 0x04, 0x3b, 0xf5, 0xd8, 0x54, 0xfc, 0x01, 0x3d, 0xf7, 0xda, 0xdd, 0x39, 0xce, 0xcd, 0xa3, 0x04, 0x3b, 0xf5, 0x03, 0xc4, 0x0f, 0xe8, 0xba, 0xdb, 0x2e, 0xfa,
0x43, 0xff, 0x93, 0xf6, 0x0f, 0xe0, 0xc8, 0xb1, 0xea, 0x01, 0x55, 0xe9, 0xa9, 0x87, 0xde, 0x7b, 0x53, 0xfa, 0x03, 0xd8, 0x54, 0x62, 0x59, 0x75, 0x81, 0xaa, 0x74, 0xdd, 0x7d, 0xa5, 0xd9, 0x8c,
0xac, 0xe6, 0x87, 0x63, 0x27, 0x14, 0xda, 0x72, 0x68, 0x4e, 0x99, 0xf9, 0xde, 0xf7, 0xde, 0x9b, 0xee, 0xc3, 0xb1, 0x13, 0x06, 0x66, 0x86, 0xc5, 0x64, 0x56, 0xb9, 0xe7, 0x3b, 0xaf, 0x9c, 0xcf,
0xf7, 0xf9, 0x1b, 0xc7, 0x90, 0x73, 0x1b, 0x4f, 0x88, 0xed, 0x97, 0x29, 0xf1, 0x2e, 0xba, 0x36, 0xdf, 0xb9, 0x36, 0x14, 0xdc, 0xd6, 0x4f, 0xd4, 0x0e, 0xaa, 0x3e, 0xf5, 0xae, 0xfb, 0x36, 0x35,
0x31, 0xfa, 0x9e, 0xeb, 0xbb, 0x58, 0x11, 0xa8, 0xb6, 0xe0, 0x91, 0x16, 0x2d, 0xfb, 0x97, 0x7d, 0x87, 0x9e, 0x1b, 0xb8, 0x58, 0x15, 0xa8, 0x9e, 0xf7, 0x68, 0xc7, 0xaf, 0x06, 0xb7, 0x43, 0xea,
0x42, 0x45, 0x44, 0xc3, 0x92, 0x1f, 0xc7, 0x16, 0x29, 0xa1, 0xb4, 0xeb, 0x3a, 0xa3, 0x44, 0x59, 0x0b, 0x8f, 0x8e, 0x65, 0x7c, 0x12, 0x5b, 0xf1, 0xa9, 0xef, 0xf7, 0x5d, 0x67, 0x32, 0x50, 0x56,
0xb1, 0x7c, 0x4e, 0x7c, 0x4b, 0x62, 0xb9, 0x10, 0xbb, 0x20, 0x5e, 0xb7, 0x75, 0x29, 0xd1, 0x52, 0xac, 0x5e, 0xd1, 0xc0, 0x92, 0x58, 0x21, 0xc2, 0xae, 0xa9, 0xd7, 0xef, 0xdc, 0x4a, 0xb4, 0xd2,
0xbb, 0xeb, 0x77, 0x82, 0x86, 0x61, 0xbb, 0xe7, 0xe5, 0xb6, 0xdb, 0x76, 0xcb, 0x1c, 0x6e, 0x04, 0xed, 0x07, 0xbd, 0xb0, 0x65, 0xda, 0xee, 0x55, 0xb5, 0xeb, 0x76, 0xdd, 0x2a, 0x87, 0x5b, 0x61,
0x2d, 0xbe, 0xe3, 0x1b, 0xbe, 0x12, 0x74, 0xfd, 0x35, 0x02, 0xd8, 0x27, 0xbe, 0x49, 0x9e, 0x06, 0x87, 0x5b, 0xdc, 0xe0, 0x27, 0x11, 0x6e, 0xfc, 0x89, 0x00, 0x8e, 0x68, 0x40, 0xe8, 0xcf, 0x21,
0x84, 0xfa, 0xb8, 0x04, 0xd3, 0xff, 0x36, 0x9b, 0x1e, 0xa1, 0x34, 0x8f, 0x56, 0x51, 0x31, 0xb3, 0xf5, 0x03, 0x5c, 0x81, 0xf9, 0x6f, 0xdb, 0x6d, 0x8f, 0xfa, 0x7e, 0x11, 0x6d, 0xa0, 0x72, 0x76,
0x91, 0x35, 0xd8, 0xa1, 0x0d, 0x09, 0x56, 0xd2, 0x57, 0x37, 0x2b, 0x09, 0x33, 0xe4, 0xe0, 0x6d, 0x3b, 0x67, 0xb2, 0x3f, 0x6d, 0x4a, 0xb0, 0x96, 0xb9, 0x7b, 0x58, 0x4f, 0x91, 0x28, 0x06, 0xe7,
0x48, 0xff, 0x47, 0x7c, 0x2b, 0xdf, 0xe0, 0x5c, 0xcd, 0x08, 0xe7, 0x96, 0xe5, 0x58, 0xac, 0x4e, 0x41, 0x21, 0xd6, 0x4d, 0x31, 0xbd, 0x81, 0xca, 0x0b, 0x84, 0x1d, 0xf1, 0x1e, 0x64, 0xbe, 0xa3,
0xac, 0x26, 0xf1, 0x2a, 0x33, 0x2c, 0xf1, 0xfa, 0x66, 0x05, 0x99, 0x3c, 0x03, 0xd7, 0x40, 0x39, 0x81, 0x55, 0x6c, 0xf1, 0x6c, 0xdd, 0x8c, 0x98, 0x90, 0x0d, 0x98, 0xaf, 0x49, 0xad, 0x36, 0xf5,
0xe5, 0xc7, 0xce, 0xdb, 0x3c, 0x57, 0x1f, 0xcf, 0xe5, 0xd1, 0xae, 0x6d, 0xf9, 0x5d, 0xd7, 0xb9, 0x6a, 0x0b, 0xac, 0xd4, 0xfd, 0xc3, 0x3a, 0x22, 0x3c, 0x03, 0x37, 0x40, 0xbd, 0xe0, 0x83, 0x14,
0x55, 0x43, 0xe6, 0xea, 0x27, 0x90, 0xe1, 0x87, 0xa7, 0x7d, 0xd7, 0xa1, 0x04, 0x17, 0x41, 0x4a, 0x6d, 0x9e, 0x6b, 0x4c, 0xe7, 0x72, 0x6f, 0xdf, 0xb6, 0x82, 0xbe, 0xeb, 0x3c, 0xaa, 0x21, 0x73,
0x2d, 0x0f, 0x3f, 0x67, 0x88, 0xad, 0x71, 0xc8, 0x7f, 0xea, 0x09, 0x53, 0xc6, 0xf1, 0x12, 0x4c, 0x8d, 0x73, 0xc8, 0xf2, 0x71, 0xfc, 0xa1, 0xeb, 0xf8, 0x14, 0x97, 0x41, 0x92, 0x2f, 0xc7, 0x59,
0x55, 0x3b, 0x81, 0x73, 0x96, 0x4f, 0xae, 0xa2, 0xa2, 0x5a, 0x4f, 0x98, 0x62, 0x5b, 0x49, 0x01, 0x32, 0x85, 0x69, 0x9e, 0xf0, 0x9f, 0x66, 0x8a, 0x48, 0x3f, 0x5e, 0x85, 0xb9, 0x7a, 0x2f, 0x74,
0x32, 0xf5, 0x37, 0x49, 0x80, 0xa3, 0x60, 0xa8, 0xc9, 0x26, 0x28, 0xe2, 0x00, 0xb2, 0xea, 0x72, 0x2e, 0xf9, 0x30, 0x5a, 0x33, 0x45, 0x84, 0x59, 0x53, 0x00, 0x11, 0xe3, 0x8f, 0x34, 0xc0, 0x69,
0x58, 0x35, 0xe2, 0xb0, 0xa5, 0xe0, 0xb0, 0x1e, 0x62, 0x75, 0x57, 0x8f, 0x49, 0x8b, 0xa6, 0x3d, 0x38, 0x66, 0x69, 0x07, 0x54, 0xf1, 0x07, 0x64, 0xd5, 0xb5, 0xa8, 0x6a, 0x1c, 0xc3, 0x8e, 0x22,
0x82, 0xd9, 0xe1, 0x71, 0xf1, 0xef, 0xa0, 0x1c, 0xde, 0x23, 0x99, 0x29, 0xa3, 0x78, 0x0d, 0xa6, 0x86, 0xf5, 0x10, 0xa7, 0xa7, 0x7a, 0xcc, 0x9a, 0x34, 0xfd, 0x07, 0x58, 0x1c, 0xff, 0x5d, 0xfc,
0x4e, 0xdc, 0x33, 0xe2, 0xf0, 0x61, 0x18, 0x4d, 0xba, 0xd4, 0xe0, 0xa8, 0x29, 0x82, 0x42, 0xbe, 0x39, 0xa8, 0x27, 0xcf, 0x50, 0x46, 0xa4, 0x17, 0x6f, 0xc2, 0xdc, 0xb9, 0x7b, 0x49, 0x1d, 0x3e,
0x1d, 0xc8, 0x70, 0x65, 0xe4, 0x43, 0xf9, 0x31, 0x4b, 0xe9, 0x2f, 0x92, 0x90, 0xad, 0x91, 0x1e, 0x0c, 0x0b, 0x93, 0xba, 0x35, 0x39, 0x4a, 0x84, 0x53, 0xd0, 0xb7, 0x0f, 0x59, 0xce, 0x8c, 0x7c,
0xf1, 0xc9, 0x03, 0x3d, 0xf9, 0x27, 0x4c, 0x1f, 0x3e, 0x73, 0x88, 0x77, 0x50, 0x13, 0xc2, 0x57, 0x28, 0xef, 0x27, 0x32, 0xe3, 0xd7, 0x34, 0xe4, 0x1a, 0x74, 0x40, 0x03, 0xfa, 0x42, 0x95, 0x7e,
0xe6, 0x59, 0xfc, 0xdd, 0xcd, 0x4a, 0x08, 0x9b, 0xe1, 0x22, 0x1a, 0x2a, 0x75, 0xcf, 0x50, 0x13, 0x09, 0xf3, 0x27, 0x37, 0x0e, 0xf5, 0x8e, 0x1b, 0x82, 0xf8, 0xda, 0x32, 0xf3, 0xff, 0xfd, 0xb0,
0x37, 0xf9, 0x02, 0xcc, 0x85, 0x82, 0x08, 0x49, 0xf5, 0x8f, 0x08, 0x32, 0x8c, 0x1e, 0x2a, 0xb4, 0x1e, 0xc1, 0x24, 0x3a, 0xc4, 0x43, 0x29, 0xcf, 0x0c, 0x35, 0x73, 0x91, 0xe7, 0x61, 0x29, 0x22,
0xfd, 0x0d, 0x85, 0x86, 0x0a, 0x48, 0x20, 0x12, 0x6b, 0x15, 0x32, 0x7b, 0x41, 0xaf, 0x27, 0x7a, 0x44, 0x50, 0x6a, 0xbc, 0x42, 0x90, 0x65, 0xe1, 0x11, 0x43, 0x7b, 0x6f, 0x61, 0x68, 0xcc, 0x80,
0x53, 0x2e, 0xd8, 0x8c, 0x19, 0x87, 0x26, 0x3e, 0xfd, 0x26, 0xa8, 0x62, 0x54, 0x69, 0xa7, 0xef, 0x04, 0x62, 0xb2, 0x36, 0x20, 0x7b, 0x18, 0x0e, 0x06, 0xa2, 0xb7, 0x2f, 0x57, 0x3b, 0x09, 0x45,
0x34, 0xac, 0xfe, 0x19, 0x41, 0xf6, 0x98, 0x58, 0x9e, 0xdd, 0x89, 0x7c, 0x94, 0xa9, 0xba, 0x8e, 0x4b, 0xaf, 0x7c, 0x3c, 0x4b, 0xbf, 0x03, 0x9a, 0x18, 0x5e, 0x0a, 0xec, 0x1d, 0x25, 0x6c, 0xfc,
0x6f, 0x75, 0x85, 0x39, 0x10, 0x37, 0x47, 0x46, 0x4a, 0x93, 0xaa, 0x1e, 0xd4, 0xcc, 0x78, 0x1c, 0x8f, 0x20, 0x77, 0x46, 0x2d, 0xcf, 0xee, 0xc5, 0xca, 0xca, 0xd6, 0x5d, 0x27, 0xb0, 0xfa, 0x42,
0xe7, 0x60, 0xea, 0xff, 0x80, 0x78, 0x97, 0xc2, 0x45, 0xa6, 0xd8, 0x60, 0x1d, 0x54, 0xbe, 0x38, 0x2e, 0x88, 0xcb, 0x25, 0x2b, 0xc9, 0x52, 0xea, 0xc7, 0x0d, 0x92, 0xf4, 0xe3, 0x02, 0xcc, 0x7d,
0x25, 0x1e, 0x73, 0x0a, 0x77, 0x4e, 0xd6, 0x1c, 0xc1, 0x26, 0x2e, 0x59, 0x15, 0xe6, 0xc2, 0xc9, 0x1f, 0x52, 0xef, 0x56, 0xe8, 0x8a, 0x08, 0x03, 0x1b, 0xa0, 0xf1, 0xc3, 0x05, 0xf5, 0x98, 0x76,
0xa5, 0x68, 0x7f, 0xc3, 0xac, 0x7c, 0xe2, 0x84, 0x59, 0x24, 0x75, 0xd7, 0x25, 0x8a, 0x58, 0xfa, 0x38, 0x53, 0x39, 0x32, 0x81, 0xcd, 0x9c, 0xb2, 0x3a, 0x2c, 0x45, 0x93, 0x4b, 0xd2, 0xbe, 0x86,
0x27, 0x04, 0xf3, 0xec, 0xdd, 0x6a, 0x39, 0xed, 0x87, 0xde, 0xc4, 0xbf, 0x40, 0xe1, 0xe9, 0xcc, 0x45, 0xa9, 0x01, 0xca, 0x44, 0xa3, 0x3c, 0xb5, 0x56, 0x71, 0x94, 0xf1, 0x1f, 0x82, 0x65, 0x76,
0x57, 0xa2, 0xa5, 0x7c, 0x54, 0x1c, 0x95, 0x6c, 0x49, 0x99, 0xb8, 0x68, 0xeb, 0xb0, 0x10, 0x8d, 0xdb, 0x5a, 0x4e, 0xf7, 0xa5, 0xbb, 0xf9, 0x15, 0xa8, 0x3c, 0x9d, 0x29, 0x4d, 0xb4, 0x94, 0x8f,
0x2b, 0x65, 0x5b, 0x86, 0xd9, 0x3d, 0xcf, 0x6a, 0x9f, 0x13, 0xc7, 0x17, 0xb2, 0xa9, 0x66, 0x04, 0x8a, 0xa3, 0x32, 0x5a, 0x86, 0xcc, 0x9c, 0xb4, 0x2d, 0xc8, 0xc7, 0xe3, 0x4a, 0xda, 0xd6, 0x60,
0xe8, 0xcf, 0x93, 0xb0, 0x18, 0xa6, 0xd4, 0x2d, 0xda, 0xf9, 0x19, 0x2a, 0x61, 0x48, 0x1f, 0x5b, 0xf1, 0xd0, 0xb3, 0xba, 0x57, 0xd4, 0x09, 0x04, 0x6d, 0x1a, 0x89, 0x01, 0xe3, 0x97, 0x34, 0xac,
0x3d, 0x9f, 0xdb, 0x4e, 0x35, 0xf9, 0x7a, 0xe2, 0xca, 0xed, 0x40, 0x6e, 0x54, 0x06, 0xa9, 0xde, 0x44, 0x29, 0x4d, 0xcb, 0xef, 0x7d, 0x08, 0x96, 0x30, 0x64, 0xce, 0xac, 0x41, 0xc0, 0x65, 0xa7,
0x1a, 0x28, 0x6c, 0x2f, 0x1d, 0xa7, 0x56, 0x54, 0x79, 0xd5, 0xd2, 0x9c, 0x25, 0x63, 0x1b, 0xaf, 0x11, 0x7e, 0x9e, 0x39, 0x73, 0xfb, 0x50, 0x98, 0xa4, 0x41, 0xb2, 0xb7, 0x09, 0x2a, 0xb3, 0xa5,
0x52, 0x30, 0x7d, 0x2c, 0xba, 0xe2, 0x75, 0x48, 0xed, 0x13, 0x1f, 0xe3, 0x50, 0x81, 0xe8, 0xc3, 0xe2, 0xb4, 0x9a, 0x26, 0x57, 0x2d, 0xc3, 0xa3, 0xa4, 0x6f, 0xfb, 0x77, 0x05, 0xe6, 0xcf, 0x44,
0x44, 0x5b, 0x1c, 0xc1, 0x44, 0x87, 0x75, 0xc4, 0x32, 0x8e, 0x82, 0x58, 0x46, 0xf4, 0x97, 0x1c, 0x57, 0xbc, 0x05, 0xca, 0x11, 0x0d, 0x30, 0x8e, 0x18, 0x88, 0x3f, 0x5e, 0xf4, 0x95, 0x09, 0x4c,
0x65, 0xc4, 0xfe, 0x8c, 0x8a, 0x08, 0x6f, 0x81, 0x22, 0xde, 0xa6, 0xf8, 0x97, 0x90, 0x30, 0xf2, 0x74, 0xd8, 0x42, 0x2c, 0xe3, 0x34, 0x4c, 0x64, 0xc4, 0x2f, 0xe9, 0x38, 0x23, 0xf1, 0x7a, 0x2a,
0x77, 0xa3, 0x2d, 0x8d, 0xc3, 0xc3, 0x3b, 0x94, 0x66, 0x12, 0xe0, 0x61, 0xdd, 0xd8, 0x1b, 0x58, 0x23, 0xbc, 0x0b, 0xaa, 0xb8, 0x5f, 0xf1, 0x27, 0x51, 0xc0, 0xc4, 0x0b, 0x48, 0x5f, 0x9d, 0x86,
0xcb, 0x8d, 0x82, 0x32, 0x65, 0x0b, 0x14, 0x71, 0x11, 0xa3, 0x5e, 0x23, 0xaf, 0xa4, 0xa8, 0xd7, 0xc7, 0x3b, 0x94, 0x61, 0x14, 0xe0, 0x71, 0xdd, 0xc4, 0x9d, 0xac, 0x17, 0x26, 0x41, 0x99, 0xb2,
0xd8, 0x7d, 0xdd, 0x85, 0x99, 0x50, 0x52, 0xfc, 0x6b, 0x7c, 0xf2, 0xd8, 0x6d, 0xd4, 0xf2, 0xb7, 0x0b, 0xaa, 0x58, 0xc4, 0xb8, 0xd7, 0xc4, 0x95, 0x14, 0xf7, 0x9a, 0xda, 0xd7, 0x03, 0x58, 0x88,
0x03, 0x32, 0xfd, 0x00, 0xd4, 0xf8, 0x13, 0xc1, 0xbf, 0x8d, 0x33, 0x63, 0x76, 0xd5, 0x96, 0xbf, 0x28, 0xc5, 0x9f, 0x26, 0x27, 0x4f, 0x6c, 0xa3, 0x5e, 0x7c, 0xec, 0x90, 0xe9, 0xc7, 0xa0, 0x25,
0x1e, 0x14, 0xa5, 0x2a, 0xbb, 0x57, 0x83, 0x02, 0xba, 0x1e, 0x14, 0xd0, 0xdb, 0x41, 0x01, 0xbd, 0x9f, 0x08, 0xfe, 0x6c, 0x3a, 0x32, 0x21, 0x57, 0x7d, 0xed, 0xcd, 0x4e, 0x51, 0xaa, 0x76, 0x70,
0x1f, 0x14, 0xd0, 0xcb, 0x0f, 0x85, 0xc4, 0xe3, 0x3f, 0x62, 0x1f, 0x99, 0x0e, 0xed, 0xdb, 0x76, 0x37, 0x2a, 0xa1, 0xfb, 0x51, 0x09, 0xfd, 0x35, 0x2a, 0xa1, 0x7f, 0x46, 0x25, 0xf4, 0xdb, 0xbf,
0xa9, 0x49, 0x2e, 0xca, 0x0e, 0x71, 0x5b, 0xb4, 0x24, 0x3e, 0x31, 0x45, 0xcd, 0x86, 0xc2, 0x77, 0xa5, 0xd4, 0x8f, 0x5f, 0x24, 0x3e, 0x44, 0x1d, 0x7f, 0x68, 0xdb, 0x95, 0x36, 0xbd, 0xae, 0x3a,
0xff, 0x7c, 0x09, 0x00, 0x00, 0xff, 0xff, 0x56, 0x6d, 0x00, 0xd5, 0x19, 0x0b, 0x00, 0x00, 0xd4, 0xed, 0xf8, 0x15, 0xf1, 0x19, 0x2a, 0x6a, 0xb6, 0x54, 0x6e, 0x7d, 0xf3, 0x3a, 0x00, 0x00,
0xff, 0xff, 0xbe, 0x82, 0x72, 0x84, 0x3d, 0x0b, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -1374,6 +1393,16 @@ func (m *GetRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
dAtA[i] = 0x6 dAtA[i] = 0x6
i-- i--
dAtA[i] = 0x92 dAtA[i] = 0x92
if m.Raw {
i--
if m.Raw {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i--
dAtA[i] = 0x10
}
{ {
size, err := m.Address.MarshalToSizedBuffer(dAtA[:i]) size, err := m.Address.MarshalToSizedBuffer(dAtA[:i])
if err != nil { if err != nil {
@ -1803,6 +1832,16 @@ func (m *HeadRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
dAtA[i] = 0x6 dAtA[i] = 0x6
i-- i--
dAtA[i] = 0x92 dAtA[i] = 0x92
if m.Raw {
i--
if m.Raw {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i--
dAtA[i] = 0x18
}
if m.FullHeaders { if m.FullHeaders {
i-- i--
if m.FullHeaders { if m.FullHeaders {
@ -2232,6 +2271,9 @@ func (m *GetRequest) Size() (n int) {
_ = l _ = l
l = m.Address.Size() l = m.Address.Size()
n += 1 + l + sovService(uint64(l)) n += 1 + l + sovService(uint64(l))
if m.Raw {
n += 2
}
l = m.RequestMetaHeader.Size() l = m.RequestMetaHeader.Size()
n += 2 + l + sovService(uint64(l)) n += 2 + l + sovService(uint64(l))
l = m.RequestVerificationHeader.Size() l = m.RequestVerificationHeader.Size()
@ -2405,6 +2447,9 @@ func (m *HeadRequest) Size() (n int) {
if m.FullHeaders { if m.FullHeaders {
n += 2 n += 2
} }
if m.Raw {
n += 2
}
l = m.RequestMetaHeader.Size() l = m.RequestMetaHeader.Size()
n += 2 + l + sovService(uint64(l)) n += 2 + l + sovService(uint64(l))
l = m.RequestVerificationHeader.Size() l = m.RequestVerificationHeader.Size()
@ -2630,6 +2675,26 @@ func (m *GetRequest) Unmarshal(dAtA []byte) error {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
case 2:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Raw", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowService
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
m.Raw = bool(v != 0)
case 98: case 98:
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field RequestMetaHeader", wireType) return fmt.Errorf("proto: wrong wireType = %d for field RequestMetaHeader", wireType)
@ -3602,6 +3667,26 @@ func (m *HeadRequest) Unmarshal(dAtA []byte) error {
} }
} }
m.FullHeaders = bool(v != 0) m.FullHeaders = bool(v != 0)
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Raw", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowService
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
m.Raw = bool(v != 0)
case 98: case 98:
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field RequestMetaHeader", wireType) return fmt.Errorf("proto: wrong wireType = %d for field RequestMetaHeader", wireType)

View File

@ -56,6 +56,8 @@ service Service {
message GetRequest { message GetRequest {
// Address of object (container id + object id) // Address of object (container id + object id)
refs.Address Address = 1 [(gogoproto.nullable) = false]; refs.Address Address = 1 [(gogoproto.nullable) = false];
// Raw is the request flag of a physically stored representation of an object
bool Raw = 2;
// RequestMetaHeader contains information about request meta headers (should be embedded into message) // RequestMetaHeader contains information about request meta headers (should be embedded into message)
service.RequestMetaHeader Meta = 98 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; service.RequestMetaHeader Meta = 98 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
// RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message) // RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message)
@ -118,6 +120,8 @@ message HeadRequest {
refs.Address Address = 1 [(gogoproto.nullable) = false, (gogoproto.customtype) = "Address"]; refs.Address Address = 1 [(gogoproto.nullable) = false, (gogoproto.customtype) = "Address"];
// FullHeaders can be set true for extended headers in the object // FullHeaders can be set true for extended headers in the object
bool FullHeaders = 2; bool FullHeaders = 2;
// Raw is the request flag of a physically stored representation of an object
bool Raw = 3;
// RequestMetaHeader contains information about request meta headers (should be embedded into message) // RequestMetaHeader contains information about request meta headers (should be embedded into message)
service.RequestMetaHeader Meta = 98 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; service.RequestMetaHeader Meta = 98 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
// RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message) // RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request (should be embedded into message)