controller_base.go 984 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package base
  2. import (
  3. "net/http"
  4. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/lock"
  5. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/backend"
  6. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/logic/file_downloader"
  7. "github.com/gin-gonic/gin"
  8. )
  9. type ControllerBase struct {
  10. fileDownloader *file_downloader.FileDownloader
  11. proxyCheckLocker lock.Lock
  12. restartSignal chan interface{}
  13. }
  14. func NewControllerBase(fileDownloader *file_downloader.FileDownloader, restartSignal chan interface{}) *ControllerBase {
  15. return &ControllerBase{
  16. fileDownloader: fileDownloader,
  17. proxyCheckLocker: lock.NewLock(),
  18. restartSignal: restartSignal,
  19. }
  20. }
  21. func (cb *ControllerBase) ErrorProcess(c *gin.Context, funcName string, err error) {
  22. if err != nil {
  23. cb.fileDownloader.Log.Errorln(funcName, err.Error())
  24. c.JSON(http.StatusInternalServerError, backend.ReplyCommon{Message: err.Error()})
  25. }
  26. }
  27. func (cb *ControllerBase) Close() {
  28. cb.proxyCheckLocker.Close()
  29. }