logarchivedownloadhandler.go 797 B

123456789101112131415161718192021222324252627282930
  1. // Code scaffolded by goctl. Safe to edit.
  2. // goctl 1.10.2
  3. package systemlog
  4. import (
  5. "net/http"
  6. "github.com/zeromicro/go-zero/rest/httpx"
  7. "udeServer/internal/logic/systemlog"
  8. "udeServer/internal/svc"
  9. "udeServer/internal/types"
  10. )
  11. // 归档打包下载(zip)
  12. func LogArchiveDownloadHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
  13. return func(w http.ResponseWriter, r *http.Request) {
  14. var req types.LogArchiveDownloadReq
  15. if err := httpx.Parse(r, &req); err != nil {
  16. httpx.ErrorCtx(r.Context(), w, err)
  17. return
  18. }
  19. l := systemlog.NewLogArchiveDownloadLogic(r.Context(), svcCtx)
  20. // zip 二进制直接写入 w,不调用 httpx.OkJsonCtx(统一封装会破坏 zip 流)
  21. if err := l.LogArchiveDownload(w, &req); err != nil {
  22. httpx.ErrorCtx(r.Context(), w, err)
  23. }
  24. }
  25. }