Files
zeekay 0c7efccf40 feat: Add new Dockerfiles and improve containerization
- Add main Dockerfile for production builds
- Add Dockerfile.runtime for secure code execution
- Add Dockerfile.runtime.fixed with improved configuration
- Include .dockerignore for build optimization
- Add integration documentation and publishing guides
- Update API and CLI components for better runtime support
- Enhance sandbox and container management features
2025-08-16 23:03:39 -05:00

54 lines
1.1 KiB
Go

// Copyright 2025 Hanzo Industries Inc.
// SPDX-License-Identifier: AGPL-3.0
package middlewares
import (
"time"
"github.com/gin-gonic/gin"
log "github.com/sirupsen/logrus"
)
var ignoreLoggingPaths = map[string]bool{}
func LoggingMiddleware() gin.HandlerFunc {
return func(ctx *gin.Context) {
startTime := time.Now()
ctx.Next()
endTime := time.Now()
latencyTime := endTime.Sub(startTime)
reqMethod := ctx.Request.Method
reqUri := ctx.Request.RequestURI
statusCode := ctx.Writer.Status()
if len(ctx.Errors) > 0 {
log.WithFields(log.Fields{
"method": reqMethod,
"URI": reqUri,
"status": statusCode,
"latency": latencyTime,
"error": ctx.Errors.String(),
}).Error("API ERROR")
} else {
fullPath := ctx.FullPath()
if ignoreLoggingPaths[fullPath] {
log.WithFields(log.Fields{
"method": reqMethod,
"URI": reqUri,
"status": statusCode,
"latency": latencyTime,
}).Debug("API REQUEST")
} else {
log.WithFields(log.Fields{
"method": reqMethod,
"URI": reqUri,
"status": statusCode,
"latency": latencyTime,
}).Info("API REQUEST")
}
}
}
}