cdnlog.go 981 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package waf
  2. import (
  3. "github.com/gin-gonic/gin"
  4. v1 "github.com/go-nunu/nunu-layout-advanced/api/v1"
  5. "github.com/go-nunu/nunu-layout-advanced/internal/handler"
  6. "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf"
  7. "github.com/mcuadros/go-defaults"
  8. "net/http"
  9. )
  10. type CdnLogHandler struct {
  11. *handler.Handler
  12. cdnLogService waf.CdnLogService
  13. }
  14. func NewCdnLogHandler(
  15. handler *handler.Handler,
  16. cdnLogService waf.CdnLogService,
  17. ) *CdnLogHandler {
  18. return &CdnLogHandler{
  19. Handler: handler,
  20. cdnLogService: cdnLogService,
  21. }
  22. }
  23. func (h *CdnLogHandler) GetCdnLog(ctx *gin.Context) {
  24. var req v1.GetCdnLog
  25. if err := ctx.ShouldBind(&req); err != nil {
  26. v1.HandleError(ctx, http.StatusBadRequest, v1.ErrBadRequest, err.Error())
  27. return
  28. }
  29. defaults.SetDefaults(&req)
  30. res, err := h.cdnLogService.GetAccessLog(ctx, req)
  31. if err != nil {
  32. v1.HandleError(ctx, http.StatusInternalServerError, err, err.Error())
  33. return
  34. }
  35. v1.HandleSuccess(ctx, res)
  36. }