github.com/wanliu/go-oauth2-server@v0.0.0-20180817021415-f928fa1580df/web/service.go (about) 1 package web 2 3 import ( 4 "net/http" 5 6 "github.com/wanliu/go-oauth2-server/config" 7 "github.com/wanliu/go-oauth2-server/oauth" 8 "github.com/wanliu/go-oauth2-server/session" 9 ) 10 11 // Service struct keeps variables for reuse 12 type Service struct { 13 cnf *config.Config 14 oauthService oauth.ServiceInterface 15 sessionService session.ServiceInterface 16 } 17 18 // NewService returns a new Service instance 19 func NewService(cnf *config.Config, oauthService oauth.ServiceInterface, sessionService session.ServiceInterface) *Service { 20 return &Service{ 21 cnf: cnf, 22 oauthService: oauthService, 23 sessionService: sessionService, 24 } 25 } 26 27 // GetConfig returns config.Config instance 28 func (s *Service) GetConfig() *config.Config { 29 return s.cnf 30 } 31 32 // GetOauthService returns oauth.Service instance 33 func (s *Service) GetOauthService() oauth.ServiceInterface { 34 return s.oauthService 35 } 36 37 // GetSessionService returns session.Service instance 38 func (s *Service) GetSessionService() session.ServiceInterface { 39 return s.sessionService 40 } 41 42 // Close stops any running services 43 func (s *Service) Close() {} 44 45 func (s *Service) setSessionService(r *http.Request, w http.ResponseWriter) { 46 s.sessionService.SetSessionService(r, w) 47 }