Files
mostlymatter/app/app.go
2017-09-19 18:31:35 -05:00

57 строки
1.5 KiB
Go

// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package app
import (
"io/ioutil"
"net/http"
"sync"
"github.com/mattermost/mattermost-server/einterfaces"
"github.com/mattermost/mattermost-server/plugin/pluginenv"
)
type App struct {
Srv *Server
PluginEnv *pluginenv.Environment
PluginConfigListenerId string
AccountMigration einterfaces.AccountMigrationInterface
Brand einterfaces.BrandInterface
Cluster einterfaces.ClusterInterface
Compliance einterfaces.ComplianceInterface
Elasticsearch einterfaces.ElasticsearchInterface
Ldap einterfaces.LdapInterface
Metrics einterfaces.MetricsInterface
Mfa einterfaces.MfaInterface
Saml einterfaces.SamlInterface
}
var globalApp App
var initEnterprise sync.Once
func Global() *App {
initEnterprise.Do(func() {
globalApp.AccountMigration = einterfaces.GetAccountMigrationInterface()
globalApp.Brand = einterfaces.GetBrandInterface()
globalApp.Cluster = einterfaces.GetClusterInterface()
globalApp.Compliance = einterfaces.GetComplianceInterface()
globalApp.Elasticsearch = einterfaces.GetElasticsearchInterface()
globalApp.Ldap = einterfaces.GetLdapInterface()
globalApp.Metrics = einterfaces.GetMetricsInterface()
globalApp.Mfa = einterfaces.GetMfaInterface()
globalApp.Saml = einterfaces.GetSamlInterface()
})
return &globalApp
}
func CloseBody(r *http.Response) {
if r.Body != nil {
ioutil.ReadAll(r.Body)
r.Body.Close()
}
}