Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion filestore.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,18 @@ func NewFileStoreFactory(settings *Settings) MessageStoreFactory {

// Create creates a new FileStore implementation of the MessageStore interface.
func (f fileStoreFactory) Create(sessionID SessionID) (msgStore MessageStore, err error) {
globalSettings := f.settings.GlobalSettings()
dynamicSessions, _ := globalSettings.BoolSetting(config.DynamicSessions)

sessionSettings, ok := f.settings.SessionSettings()[sessionID]
if !ok {
return nil, fmt.Errorf("unknown session: %v", sessionID)
if dynamicSessions {
sessionSettings = globalSettings
} else {
return nil, fmt.Errorf("unknown session: %v", sessionID)
}
}

dirname, err := sessionSettings.Setting(config.FileStorePath)
if err != nil {
return nil, err
Expand Down
9 changes: 8 additions & 1 deletion mongostore.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,16 @@ func NewMongoStoreFactoryPrefixed(settings *Settings, collectionsPrefix string)

// Create creates a new MongoStore implementation of the MessageStore interface.
func (f mongoStoreFactory) Create(sessionID SessionID) (msgStore MessageStore, err error) {
globalSettings := f.settings.GlobalSettings()
dynamicSessions, _ := globalSettings.BoolSetting(config.DynamicSessions)

sessionSettings, ok := f.settings.SessionSettings()[sessionID]
if !ok {
return nil, fmt.Errorf("unknown session: %v", sessionID)
if dynamicSessions {
sessionSettings = globalSettings
} else {
return nil, fmt.Errorf("unknown session: %v", sessionID)
}
}
mongoConnectionURL, err := sessionSettings.Setting(config.MongoStoreConnection)
if err != nil {
Expand Down
10 changes: 9 additions & 1 deletion sqlstore.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,18 @@ func NewSQLStoreFactory(settings *Settings) MessageStoreFactory {

// Create creates a new SQLStore implementation of the MessageStore interface.
func (f sqlStoreFactory) Create(sessionID SessionID) (msgStore MessageStore, err error) {
globalSettings := f.settings.GlobalSettings()
dynamicSessions, _ := globalSettings.BoolSetting(config.DynamicSessions)

sessionSettings, ok := f.settings.SessionSettings()[sessionID]
if !ok {
return nil, fmt.Errorf("unknown session: %v", sessionID)
if dynamicSessions {
sessionSettings = globalSettings
} else {
return nil, fmt.Errorf("unknown session: %v", sessionID)
}
}

sqlDriver, err := sessionSettings.Setting(config.SQLStoreDriver)
if err != nil {
return nil, err
Expand Down