[#362] pool: Don't use default session token for read (#363)

close #362
This commit is contained in:
Roman Khimov 2023-04-17 15:43:06 +03:00 committed by GitHub
commit 47af8441eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 26 deletions

View file

@ -2146,11 +2146,6 @@ type ResGetObject struct {
//
// Main return value MUST NOT be processed on an erroneous return.
func (p *Pool) GetObject(ctx context.Context, prm PrmObjectGet) (ResGetObject, error) {
var prmCtx prmContext
prmCtx.useDefaultSession()
prmCtx.useVerb(session.VerbObjectGet)
prmCtx.useAddress(prm.addr)
p.fillAppropriateKey(&prm.prmCommon)
var cc callContext
@ -2159,7 +2154,7 @@ func (p *Pool) GetObject(ctx context.Context, prm PrmObjectGet) (ResGetObject, e
var res ResGetObject
err := p.initCallContext(&cc, prm.prmCommon, prmCtx)
err := p.initCallContext(&cc, prm.prmCommon, prmContext{})
if err != nil {
return res, err
}
@ -2174,11 +2169,6 @@ func (p *Pool) GetObject(ctx context.Context, prm PrmObjectGet) (ResGetObject, e
//
// Main return value MUST NOT be processed on an erroneous return.
func (p *Pool) HeadObject(ctx context.Context, prm PrmObjectHead) (object.Object, error) {
var prmCtx prmContext
prmCtx.useDefaultSession()
prmCtx.useVerb(session.VerbObjectHead)
prmCtx.useAddress(prm.addr)
p.fillAppropriateKey(&prm.prmCommon)
var cc callContext
@ -2188,7 +2178,7 @@ func (p *Pool) HeadObject(ctx context.Context, prm PrmObjectHead) (object.Object
var obj object.Object
err := p.initCallContext(&cc, prm.prmCommon, prmCtx)
err := p.initCallContext(&cc, prm.prmCommon, prmContext{})
if err != nil {
return obj, err
}
@ -2229,11 +2219,6 @@ func (x *ResObjectRange) Close() error {
//
// Main return value MUST NOT be processed on an erroneous return.
func (p *Pool) ObjectRange(ctx context.Context, prm PrmObjectRange) (ResObjectRange, error) {
var prmCtx prmContext
prmCtx.useDefaultSession()
prmCtx.useVerb(session.VerbObjectRange)
prmCtx.useAddress(prm.addr)
p.fillAppropriateKey(&prm.prmCommon)
var cc callContext
@ -2242,7 +2227,7 @@ func (p *Pool) ObjectRange(ctx context.Context, prm PrmObjectRange) (ResObjectRa
var res ResObjectRange
err := p.initCallContext(&cc, prm.prmCommon, prmCtx)
err := p.initCallContext(&cc, prm.prmCommon, prmContext{})
if err != nil {
return res, err
}
@ -2296,11 +2281,6 @@ func (x *ResObjectSearch) Close() {
//
// Main return value MUST NOT be processed on an erroneous return.
func (p *Pool) SearchObjects(ctx context.Context, prm PrmObjectSearch) (ResObjectSearch, error) {
var prmCtx prmContext
prmCtx.useDefaultSession()
prmCtx.useVerb(session.VerbObjectSearch)
prmCtx.useContainer(prm.cnrID)
p.fillAppropriateKey(&prm.prmCommon)
var cc callContext
@ -2310,7 +2290,7 @@ func (p *Pool) SearchObjects(ctx context.Context, prm PrmObjectSearch) (ResObjec
var res ResObjectSearch
err := p.initCallContext(&cc, prm.prmCommon, prmCtx)
err := p.initCallContext(&cc, prm.prmCommon, prmContext{})
if err != nil {
return res, err
}

View file

@ -413,12 +413,12 @@ func TestSessionCacheWithKey(t *testing.T) {
st, _ := pool.cache.Get(formCacheKey(cp.address(), pool.key))
require.True(t, st.AssertAuthKey(&expectedAuthKey))
var prm PrmObjectGet
var prm PrmObjectDelete
prm.SetAddress(oid.Address{})
anonKey := newPrivateKey(t)
prm.UseKey(anonKey)
_, err = pool.GetObject(ctx, prm)
err = pool.DeleteObject(ctx, prm)
require.NoError(t, err)
st, _ = pool.cache.Get(formCacheKey(cp.address(), anonKey))
require.True(t, st.AssertAuthKey(&expectedAuthKey))