@@ -216,65 +216,63 @@ func (a *APIKey) authPlain(c *gin.Context, logger *log.Entry) *ent.Bouncer {
216216 return bouncer
217217}
218218
219- func (a * APIKey ) MiddlewareFunc () gin.HandlerFunc {
220- return func (c * gin.Context ) {
221- var bouncer * ent.Bouncer
219+ func (a * APIKey ) Middleware (c * gin.Context ) {
220+ var bouncer * ent.Bouncer
222221
223- ctx := c .Request .Context ()
222+ ctx := c .Request .Context ()
224223
225- clientIP := c .ClientIP ()
224+ clientIP := c .ClientIP ()
226225
227- logger := log .WithField ("ip" , clientIP )
226+ logger := log .WithField ("ip" , clientIP )
228227
229- if c .Request .TLS != nil && len (c .Request .TLS .PeerCertificates ) > 0 {
230- bouncer = a .authTLS (c , logger )
231- } else {
232- bouncer = a .authPlain (c , logger )
233- }
228+ if c .Request .TLS != nil && len (c .Request .TLS .PeerCertificates ) > 0 {
229+ bouncer = a .authTLS (c , logger )
230+ } else {
231+ bouncer = a .authPlain (c , logger )
232+ }
234233
235- if bouncer == nil {
236- // XXX: StatusUnauthorized?
237- c .JSON (http .StatusForbidden , gin.H {"message" : "access forbidden" })
238- c .Abort ()
234+ if bouncer == nil {
235+ // XXX: StatusUnauthorized?
236+ c .JSON (http .StatusForbidden , gin.H {"message" : "access forbidden" })
237+ c .Abort ()
239238
240- return
241- }
239+ return
240+ }
242241
243- // Appsec request, return immediately if we found something
244- if c .Request .Method == http .MethodHead {
245- c .Set (BouncerContextKey , bouncer )
246- return
247- }
242+ // Appsec request, return immediately if we found something
243+ if c .Request .Method == http .MethodHead {
244+ c .Set (BouncerContextKey , bouncer )
245+ return
246+ }
248247
249- logger = logger .WithField ("name" , bouncer .Name )
248+ logger = logger .WithField ("name" , bouncer .Name )
250249
251- // 1st time we see this bouncer, we update its IP
252- if bouncer .IPAddress == "" {
253- if err := a .DbClient .UpdateBouncerIP (ctx , clientIP , bouncer .ID ); err != nil {
254- logger .Errorf ("Failed to update ip address for '%s': %s\n " , bouncer .Name , err )
255- c .JSON (http .StatusForbidden , gin.H {"message" : "access forbidden" })
256- c .Abort ()
250+ // 1st time we see this bouncer, we update its IP
251+ if bouncer .IPAddress == "" {
252+ if err := a .DbClient .UpdateBouncerIP (ctx , clientIP , bouncer .ID ); err != nil {
253+ logger .Errorf ("Failed to update ip address for '%s': %s\n " , bouncer .Name , err )
254+ c .JSON (http .StatusForbidden , gin.H {"message" : "access forbidden" })
255+ c .Abort ()
257256
258- return
259- }
257+ return
260258 }
259+ }
261260
262- useragent := strings .Split (c .Request .UserAgent (), "/" )
263- if len (useragent ) != 2 {
264- logger .Warningf ("bad user agent '%s'" , c .Request .UserAgent ())
265- useragent = []string {c .Request .UserAgent (), "N/A" }
266- }
261+ useragent := strings .Split (c .Request .UserAgent (), "/" )
262+ if len (useragent ) != 2 {
263+ logger .Warningf ("bad user agent '%s'" , c .Request .UserAgent ())
264+ useragent = []string {c .Request .UserAgent (), "N/A" }
265+ }
267266
268- if bouncer .Version != useragent [1 ] || bouncer .Type != useragent [0 ] {
269- if err := a .DbClient .UpdateBouncerTypeAndVersion (ctx , useragent [0 ], useragent [1 ], bouncer .ID ); err != nil {
270- logger .Errorf ("failed to update bouncer version and type: %s" , err )
271- c .JSON (http .StatusForbidden , gin.H {"message" : "bad user agent" })
272- c .Abort ()
267+ if bouncer .Version != useragent [1 ] || bouncer .Type != useragent [0 ] {
268+ if err := a .DbClient .UpdateBouncerTypeAndVersion (ctx , useragent [0 ], useragent [1 ], bouncer .ID ); err != nil {
269+ logger .Errorf ("failed to update bouncer version and type: %s" , err )
270+ c .JSON (http .StatusForbidden , gin.H {"message" : "bad user agent" })
271+ c .Abort ()
273272
274- return
275- }
273+ return
276274 }
277-
278- c .Set (BouncerContextKey , bouncer )
279275 }
276+
277+ c .Set (BouncerContextKey , bouncer )
280278}
0 commit comments