func (setting MiddlewaresSetting) parseMiddlewareSetting(itemConfig *config.Config, defaultName string) (MiddlewareSetting, error) { enabled, err := itemConfig.Bool("middleware") if err == nil && !enabled { return nil, nil } middlewareName, err := itemConfig.String("middleware") if err != nil { if len(defaultName) < 1 { return nil, nil } middlewareName = defaultName } if middleware, found := setting[middlewareName]; found { return middleware, nil } return nil, errors.New(fmt.Sprintf("invalid middleware found, `%s`", middlewareName)) }