mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
reference global logrus (#274)
* reference logrus' global logger instead of passing and storing a logger reference everywhere * always directly use global logrus logger instead of referencing an instance * test suites should also directly use the global logrus logger * rename gin logging function to clarify that it's middleware * correct comments which erroneously referenced removed logger parameter * setting log level for tests now uses logrus' exported type instead of the string value, to guarantee error isn't possible
This commit is contained in:
committed by
GitHub
parent
367bdca250
commit
083099a957
@@ -62,12 +62,11 @@ type Server interface {
|
||||
// s fulfils the Server interface using the underlying oauth2 server
|
||||
type s struct {
|
||||
server *server.Server
|
||||
log *logrus.Logger
|
||||
}
|
||||
|
||||
// New returns a new oauth server that implements the Server interface
|
||||
func New(ctx context.Context, database db.Basic, log *logrus.Logger) Server {
|
||||
ts := newTokenStore(ctx, database, log)
|
||||
func New(ctx context.Context, database db.Basic) Server {
|
||||
ts := newTokenStore(ctx, database)
|
||||
cs := NewClientStore(database)
|
||||
|
||||
manager := manage.NewDefaultManager()
|
||||
@@ -95,12 +94,12 @@ func New(ctx context.Context, database db.Basic, log *logrus.Logger) Server {
|
||||
|
||||
srv := server.NewServer(sc, manager)
|
||||
srv.SetInternalErrorHandler(func(err error) *errors.Response {
|
||||
log.Errorf("internal oauth error: %s", err)
|
||||
logrus.Errorf("internal oauth error: %s", err)
|
||||
return nil
|
||||
})
|
||||
|
||||
srv.SetResponseErrorHandler(func(re *errors.Response) {
|
||||
log.Errorf("internal response error: %s", re.Error)
|
||||
logrus.Errorf("internal response error: %s", re.Error)
|
||||
})
|
||||
|
||||
srv.SetUserAuthorizationHandler(func(w http.ResponseWriter, r *http.Request) (string, error) {
|
||||
@@ -113,7 +112,6 @@ func New(ctx context.Context, database db.Basic, log *logrus.Logger) Server {
|
||||
srv.SetClientInfoHandler(server.ClientFormHandler)
|
||||
return &s{
|
||||
server: srv,
|
||||
log: log,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,7 +151,7 @@ func (s *s) GenerateUserAccessToken(ctx context.Context, ti oauth2.TokenInfo, cl
|
||||
if authToken == nil {
|
||||
return nil, errors.New("generated auth token was empty")
|
||||
}
|
||||
s.log.Tracef("obtained auth token: %+v", authToken)
|
||||
logrus.Tracef("obtained auth token: %+v", authToken)
|
||||
|
||||
accessToken, err := s.server.Manager.GenerateAccessToken(ctx, oauth2.AuthorizationCode, &oauth2.TokenGenerateRequest{
|
||||
ClientID: authToken.GetClientID(),
|
||||
@@ -169,7 +167,7 @@ func (s *s) GenerateUserAccessToken(ctx context.Context, ti oauth2.TokenInfo, cl
|
||||
if accessToken == nil {
|
||||
return nil, errors.New("generated user-level access token was empty")
|
||||
}
|
||||
s.log.Tracef("obtained user-level access token: %+v", accessToken)
|
||||
logrus.Tracef("obtained user-level access token: %+v", accessToken)
|
||||
return accessToken, nil
|
||||
}
|
||||
|
||||
|
@@ -36,35 +36,33 @@ import (
|
||||
type tokenStore struct {
|
||||
oauth2.TokenStore
|
||||
db db.Basic
|
||||
log *logrus.Logger
|
||||
}
|
||||
|
||||
// newTokenStore returns a token store that satisfies the oauth2.TokenStore interface.
|
||||
//
|
||||
// In order to allow tokens to 'expire', it will also set off a goroutine that iterates through
|
||||
// the tokens in the DB once per minute and deletes any that have expired.
|
||||
func newTokenStore(ctx context.Context, db db.Basic, log *logrus.Logger) oauth2.TokenStore {
|
||||
func newTokenStore(ctx context.Context, db db.Basic) oauth2.TokenStore {
|
||||
ts := &tokenStore{
|
||||
db: db,
|
||||
log: log,
|
||||
}
|
||||
|
||||
// set the token store to clean out expired tokens once per minute, or return if we're done
|
||||
go func(ctx context.Context, ts *tokenStore, log *logrus.Logger) {
|
||||
go func(ctx context.Context, ts *tokenStore) {
|
||||
cleanloop:
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
log.Info("breaking cleanloop")
|
||||
logrus.Info("breaking cleanloop")
|
||||
break cleanloop
|
||||
case <-time.After(1 * time.Minute):
|
||||
log.Trace("sweeping out old oauth entries broom broom")
|
||||
logrus.Trace("sweeping out old oauth entries broom broom")
|
||||
if err := ts.sweep(ctx); err != nil {
|
||||
log.Errorf("error while sweeping oauth entries: %s", err)
|
||||
logrus.Errorf("error while sweeping oauth entries: %s", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}(ctx, ts, log)
|
||||
}(ctx, ts)
|
||||
return ts
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user