[#233] get/head: Middleware refactor
Add: * search index.html * fallback by leading slash Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
parent
ee628617a3
commit
9cb9d14146
11 changed files with 311 additions and 121 deletions
|
@ -62,8 +62,9 @@ func (t *treeServiceMock) GetLatestVersion(context.Context, *cid.ID, string) (*d
|
|||
}
|
||||
|
||||
type configMock struct {
|
||||
additionalSearch bool
|
||||
cors *data.CORSRule
|
||||
additionalFilenameSearch bool
|
||||
additionalSlashSearch bool
|
||||
cors *data.CORSRule
|
||||
}
|
||||
|
||||
func (c *configMock) DefaultTimestamp() bool {
|
||||
|
@ -99,7 +100,11 @@ func (c *configMock) NamespaceHeader() string {
|
|||
}
|
||||
|
||||
func (c *configMock) EnableFilepathFallback() bool {
|
||||
return c.additionalSearch
|
||||
return c.additionalFilenameSearch
|
||||
}
|
||||
|
||||
func (c *configMock) EnableFilepathSlashFallback() bool {
|
||||
return c.additionalSlashSearch
|
||||
}
|
||||
|
||||
func (c *configMock) FormContainerZone(string) string {
|
||||
|
@ -327,7 +332,7 @@ func TestBasic(t *testing.T) {
|
|||
|
||||
func TestFindObjectByAttribute(t *testing.T) {
|
||||
hc := prepareHandlerContext(t)
|
||||
hc.cfg.additionalSearch = true
|
||||
hc.cfg.additionalFilenameSearch = true
|
||||
|
||||
bktName := "bucket"
|
||||
cnrID, cnr, err := hc.prepareContainer(bktName, acl.PublicRWExtended)
|
||||
|
@ -407,7 +412,7 @@ func TestFindObjectByAttribute(t *testing.T) {
|
|||
t.Run(tc.name, func(t *testing.T) {
|
||||
obj := hc.frostfs.objects[putRes.ContainerID+"/"+putRes.ObjectID]
|
||||
obj.SetAttributes(tc.firstAttr, tc.secondAttr)
|
||||
hc.cfg.additionalSearch = tc.additionalSearch
|
||||
hc.cfg.additionalFilenameSearch = tc.additionalSearch
|
||||
|
||||
objID, err := hc.Handler().findObjectByAttribute(ctx, cnrID, tc.reqAttrKey, tc.reqAttrValue)
|
||||
if tc.err != "" {
|
||||
|
@ -476,7 +481,7 @@ func TestNeedSearchByFileName(t *testing.T) {
|
|||
},
|
||||
} {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
hc.cfg.additionalSearch = tc.additionalSearch
|
||||
hc.cfg.additionalFilenameSearch = tc.additionalSearch
|
||||
|
||||
res := hc.h.needSearchByFileName(tc.attrKey, tc.attrVal)
|
||||
require.Equal(t, tc.expected, res)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue