()
| 168 | } |
| 169 | |
| 170 | func (a *Auth) Optional() gin.HandlerFunc { |
| 171 | return func(ctx *gin.Context) { |
| 172 | token := a.tokenFromQueryOrHeader(ctx) |
| 173 | user, err := a.userFromBasicAuth(ctx) |
| 174 | if err != nil { |
| 175 | RegisterAuthentication(ctx, nil, 0, "") |
| 176 | ctx.Next() |
| 177 | return |
| 178 | } |
| 179 | |
| 180 | if user != nil { |
| 181 | RegisterAuthentication(ctx, user, user.ID, token) |
| 182 | ctx.Next() |
| 183 | return |
| 184 | } else if token != "" { |
| 185 | if tokenClient, err := a.DB.GetClientByToken(token); err == nil && tokenClient != nil { |
| 186 | RegisterAuthentication(ctx, user, tokenClient.UserID, token) |
| 187 | ctx.Next() |
| 188 | return |
| 189 | } |
| 190 | } |
| 191 | RegisterAuthentication(ctx, nil, 0, "") |
| 192 | ctx.Next() |
| 193 | } |
| 194 | } |
no test coverage detected