From e8f181525cb479d67a64d51f82c9241b8b092250 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 11 Apr 2018 21:47:23 -0600 Subject: [PATCH] Move errors out of the utility package They are a shared resource, so treat them as such --- .../matrix-media-repo/api/r0/download.go | 8 ++--- .../matrix-media-repo/api/r0/info.go | 8 ++--- .../matrix-media-repo/api/r0/local_copy.go | 10 +++--- .../matrix-media-repo/api/r0/preview_url.go | 6 ++-- .../matrix-media-repo/api/r0/thumbnail.go | 6 ++-- .../matrix-media-repo/api/r0/upload.go | 4 +-- .../{util/errs => common}/errorcodes.go | 2 +- .../{util/errs => common}/errors.go | 2 +- .../media_cache/media_cache.go | 8 ++--- .../media_cache/thumbnail_cache.go | 8 ++--- .../services/media_service/media_service.go | 6 ++-- .../media_service/remote_media_downloader.go | 8 ++--- .../thumbnail_service/thumbnail_service.go | 4 +-- .../services/url_service/file_previewer.go | 6 ++-- .../url_service/opengraph_previewer.go | 6 ++-- .../services/url_service/resource_handler.go | 10 +++--- .../services/url_service/url_service.go | 36 +++++++++---------- 17 files changed, 69 insertions(+), 69 deletions(-) rename src/github.com/turt2live/matrix-media-repo/{util/errs => common}/errorcodes.go (93%) rename src/github.com/turt2live/matrix-media-repo/{util/errs => common}/errors.go (96%) diff --git a/src/github.com/turt2live/matrix-media-repo/api/r0/download.go b/src/github.com/turt2live/matrix-media-repo/api/r0/download.go index a6e5460d..f8a7a0b6 100644 --- a/src/github.com/turt2live/matrix-media-repo/api/r0/download.go +++ b/src/github.com/turt2live/matrix-media-repo/api/r0/download.go @@ -7,9 +7,9 @@ import ( "github.com/gorilla/mux" "github.com/sirupsen/logrus" "github.com/turt2live/matrix-media-repo/api" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/media_cache" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) type DownloadMediaResponse struct { @@ -42,11 +42,11 @@ func DownloadMedia(r *http.Request, log *logrus.Entry, user api.UserInfo) interf streamedMedia, err := mediaCache.GetMedia(server, mediaId) if err != nil { - if err == errs.ErrMediaNotFound { + if err == common.ErrMediaNotFound { return api.NotFoundError() - } else if err == errs.ErrMediaTooLarge { + } else if err == common.ErrMediaTooLarge { return api.RequestTooLarge() - } else if err == errs.ErrMediaQuarantined { + } else if err == common.ErrMediaQuarantined { return api.NotFoundError() // We lie for security } log.Error("Unexpected error locating media: " + err.Error()) diff --git a/src/github.com/turt2live/matrix-media-repo/api/r0/info.go b/src/github.com/turt2live/matrix-media-repo/api/r0/info.go index 6624241b..d6e8a050 100644 --- a/src/github.com/turt2live/matrix-media-repo/api/r0/info.go +++ b/src/github.com/turt2live/matrix-media-repo/api/r0/info.go @@ -7,8 +7,8 @@ import ( "github.com/gorilla/mux" "github.com/sirupsen/logrus" "github.com/turt2live/matrix-media-repo/api" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/media_cache" - "github.com/turt2live/matrix-media-repo/util/errs" ) type MediaInfoResponse struct { @@ -34,11 +34,11 @@ func MediaInfo(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{ streamedMedia, err := mediaCache.GetMedia(server, mediaId) if err != nil { - if err == errs.ErrMediaNotFound { + if err == common.ErrMediaNotFound { return api.NotFoundError() - } else if err == errs.ErrMediaTooLarge { + } else if err == common.ErrMediaTooLarge { return api.RequestTooLarge() - } else if err == errs.ErrMediaQuarantined { + } else if err == common.ErrMediaQuarantined { return api.NotFoundError() // We lie for security } log.Error("Unexpected error locating media: " + err.Error()) diff --git a/src/github.com/turt2live/matrix-media-repo/api/r0/local_copy.go b/src/github.com/turt2live/matrix-media-repo/api/r0/local_copy.go index a3148ed1..704b5091 100644 --- a/src/github.com/turt2live/matrix-media-repo/api/r0/local_copy.go +++ b/src/github.com/turt2live/matrix-media-repo/api/r0/local_copy.go @@ -6,9 +6,9 @@ import ( "github.com/gorilla/mux" "github.com/sirupsen/logrus" "github.com/turt2live/matrix-media-repo/api" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/media_cache" "github.com/turt2live/matrix-media-repo/services/media_service" - "github.com/turt2live/matrix-media-repo/util/errs" ) func LocalCopy(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{} { @@ -29,11 +29,11 @@ func LocalCopy(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{ streamedMedia, err := mediaCache.GetMedia(server, mediaId) if err != nil { - if err == errs.ErrMediaNotFound { + if err == common.ErrMediaNotFound { return api.NotFoundError() - } else if err == errs.ErrMediaTooLarge { + } else if err == common.ErrMediaTooLarge { return api.RequestTooLarge() - } else if err == errs.ErrMediaQuarantined { + } else if err == common.ErrMediaQuarantined { return api.NotFoundError() // We lie for security } log.Error("Unexpected error locating media: " + err.Error()) @@ -48,7 +48,7 @@ func LocalCopy(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{ newMedia, err := svc.StoreMedia(streamedMedia.Stream, streamedMedia.Media.ContentType, streamedMedia.Media.UploadName, user.UserId, r.Host, "") if err != nil { - if err == errs.ErrMediaNotAllowed { + if err == common.ErrMediaNotAllowed { return api.BadRequest("Media content type not allowed on this server") } diff --git a/src/github.com/turt2live/matrix-media-repo/api/r0/preview_url.go b/src/github.com/turt2live/matrix-media-repo/api/r0/preview_url.go index fdc80bae..e023ae84 100644 --- a/src/github.com/turt2live/matrix-media-repo/api/r0/preview_url.go +++ b/src/github.com/turt2live/matrix-media-repo/api/r0/preview_url.go @@ -7,10 +7,10 @@ import ( "github.com/sirupsen/logrus" "github.com/turt2live/matrix-media-repo/api" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/services/url_service" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) type MatrixOpenGraph struct { @@ -57,9 +57,9 @@ func PreviewUrl(r *http.Request, log *logrus.Entry, user api.UserInfo) interface svc := url_service.New(r.Context(), log) preview, err := svc.GetPreview(urlStr, r.Host, user.UserId, ts) if err != nil { - if err == errs.ErrMediaNotFound || err == errs.ErrHostNotFound { + if err == common.ErrMediaNotFound || err == common.ErrHostNotFound { return api.NotFoundError() - } else if err == errs.ErrInvalidHost || err == errs.ErrHostBlacklisted { + } else if err == common.ErrInvalidHost || err == common.ErrHostBlacklisted { return api.BadRequest(err.Error()) } else { return api.InternalServerError("unexpected error during request") diff --git a/src/github.com/turt2live/matrix-media-repo/api/r0/thumbnail.go b/src/github.com/turt2live/matrix-media-repo/api/r0/thumbnail.go index 8b68fd44..faed89f9 100644 --- a/src/github.com/turt2live/matrix-media-repo/api/r0/thumbnail.go +++ b/src/github.com/turt2live/matrix-media-repo/api/r0/thumbnail.go @@ -7,10 +7,10 @@ import ( "github.com/gorilla/mux" "github.com/sirupsen/logrus" "github.com/turt2live/matrix-media-repo/api" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/media_cache" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) func ThumbnailMedia(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{} { @@ -75,9 +75,9 @@ func ThumbnailMedia(r *http.Request, log *logrus.Entry, user api.UserInfo) inter streamedThumbnail, err := mediaCache.GetThumbnail(server, mediaId, width, height, method, animated) if err != nil { - if err == errs.ErrMediaNotFound { + if err == common.ErrMediaNotFound { return api.NotFoundError() - } else if err == errs.ErrMediaTooLarge { + } else if err == common.ErrMediaTooLarge { return api.RequestTooLarge() } log.Error("Unexpected error locating media: " + err.Error()) diff --git a/src/github.com/turt2live/matrix-media-repo/api/r0/upload.go b/src/github.com/turt2live/matrix-media-repo/api/r0/upload.go index 1ae677ed..cf83e75c 100644 --- a/src/github.com/turt2live/matrix-media-repo/api/r0/upload.go +++ b/src/github.com/turt2live/matrix-media-repo/api/r0/upload.go @@ -7,8 +7,8 @@ import ( "github.com/sirupsen/logrus" "github.com/turt2live/matrix-media-repo/api" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/services/media_service" - "github.com/turt2live/matrix-media-repo/util/errs" ) type MediaUploadedResponse struct { @@ -43,7 +43,7 @@ func UploadMedia(r *http.Request, log *logrus.Entry, user api.UserInfo) interfac io.Copy(ioutil.Discard, r.Body) // Ditch the entire request defer r.Body.Close() - if err == errs.ErrMediaNotAllowed { + if err == common.ErrMediaNotAllowed { return api.BadRequest("Media content type not allowed on this server") } diff --git a/src/github.com/turt2live/matrix-media-repo/util/errs/errorcodes.go b/src/github.com/turt2live/matrix-media-repo/common/errorcodes.go similarity index 93% rename from src/github.com/turt2live/matrix-media-repo/util/errs/errorcodes.go rename to src/github.com/turt2live/matrix-media-repo/common/errorcodes.go index 8a2e76b2..d96d0fa4 100644 --- a/src/github.com/turt2live/matrix-media-repo/util/errs/errorcodes.go +++ b/src/github.com/turt2live/matrix-media-repo/common/errorcodes.go @@ -1,4 +1,4 @@ -package errs +package common const ErrCodeInvalidHost = "M_INVALID_HOST" const ErrCodeHostNotFound = "M_HOST_NOT_FOUND" diff --git a/src/github.com/turt2live/matrix-media-repo/util/errs/errors.go b/src/github.com/turt2live/matrix-media-repo/common/errors.go similarity index 96% rename from src/github.com/turt2live/matrix-media-repo/util/errs/errors.go rename to src/github.com/turt2live/matrix-media-repo/common/errors.go index 5370df9d..6f33b807 100644 --- a/src/github.com/turt2live/matrix-media-repo/util/errs/errors.go +++ b/src/github.com/turt2live/matrix-media-repo/common/errors.go @@ -1,4 +1,4 @@ -package errs +package common import ( "errors" diff --git a/src/github.com/turt2live/matrix-media-repo/media_cache/media_cache.go b/src/github.com/turt2live/matrix-media-repo/media_cache/media_cache.go index e40cbdd3..db11384b 100644 --- a/src/github.com/turt2live/matrix-media-repo/media_cache/media_cache.go +++ b/src/github.com/turt2live/matrix-media-repo/media_cache/media_cache.go @@ -10,11 +10,11 @@ import ( "github.com/patrickmn/go-cache" "github.com/pkg/errors" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/services/media_service" "github.com/turt2live/matrix-media-repo/types" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) func (c *mediaCache) getKeyForMedia(server string, mediaId string) string { @@ -33,7 +33,7 @@ func (c *mediaCache) GetMedia(server string, mediaId string) (*types.StreamedMed if media.Quarantined { c.log.Warn("Quarantined media accessed") - return nil, errs.ErrMediaQuarantined + return nil, common.ErrMediaQuarantined } // At this point we should have a real media object to use, so let's try caching it @@ -80,7 +80,7 @@ func (c *mediaCache) GetRawMedia(server string, mediaId string) (*types.Media, e if err == sql.ErrNoRows { if util.IsServerOurs(server) { c.log.Warn("Media not found") - return nil, errs.ErrMediaNotFound + return nil, common.ErrMediaNotFound } } @@ -94,7 +94,7 @@ func (c *mediaCache) GetRawMedia(server string, mediaId string) (*types.Media, e if !exists || err != nil { if util.IsServerOurs(server) { c.log.Error("Media not found in file store when we expected it to") - return nil, errs.ErrMediaNotFound + return nil, common.ErrMediaNotFound } else { c.log.Warn("Media appears to have been deleted - redownloading") diff --git a/src/github.com/turt2live/matrix-media-repo/media_cache/thumbnail_cache.go b/src/github.com/turt2live/matrix-media-repo/media_cache/thumbnail_cache.go index 952539c5..d353dc29 100644 --- a/src/github.com/turt2live/matrix-media-repo/media_cache/thumbnail_cache.go +++ b/src/github.com/turt2live/matrix-media-repo/media_cache/thumbnail_cache.go @@ -12,11 +12,11 @@ import ( "github.com/disintegration/imaging" "github.com/patrickmn/go-cache" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/services/thumbnail_service" "github.com/turt2live/matrix-media-repo/types" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) var regexContentType = regexp.MustCompile(`^\s*([^\/]+)\/(?:[^\.]+\.)?([^+;\s]+).*$`) @@ -37,11 +37,11 @@ func (c *mediaCache) GetThumbnail(server string, mediaId string, width int, heig thumbnail, err := c.GetRawThumbnail(server, mediaId, width, height, method, animated) if err != nil { - if err == errs.ErrMediaQuarantined { + if err == common.ErrMediaQuarantined { c.log.Warn("Quarantined media accessed") } - if err == errs.ErrMediaQuarantined && config.Get().Quarantine.ReplaceThumbnails { + if err == common.ErrMediaQuarantined && config.Get().Quarantine.ReplaceThumbnails { c.log.Info("Replacing thumbnail with a quarantined icon") svc := thumbnail_service.New(c.ctx, c.log) img, err := svc.GenerateQuarantineThumbnail(server, mediaId, width, height) @@ -136,7 +136,7 @@ func (c *mediaCache) GetRawThumbnail(server string, mediaId string, width int, h } if media.Quarantined { - return nil, errs.ErrMediaQuarantined + return nil, common.ErrMediaQuarantined } thumb, err := thumbnailSvc.GetThumbnailDirect(media, width, height, method, animated) diff --git a/src/github.com/turt2live/matrix-media-repo/services/media_service/media_service.go b/src/github.com/turt2live/matrix-media-repo/services/media_service/media_service.go index 816560c6..32e8a672 100644 --- a/src/github.com/turt2live/matrix-media-repo/services/media_service/media_service.go +++ b/src/github.com/turt2live/matrix-media-repo/services/media_service/media_service.go @@ -9,12 +9,12 @@ import ( "github.com/ryanuber/go-glob" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/storage" "github.com/turt2live/matrix-media-repo/storage/stores" "github.com/turt2live/matrix-media-repo/types" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) type mediaService struct { @@ -166,7 +166,7 @@ func (s *mediaService) StoreMedia(contents io.Reader, contentType string, filena } // Check to make sure the file is allowed - fileMime, err := util.GetContentType(fileLocation) + fileMime, err := util.GetMimeType(fileLocation) if err != nil { s.log.Error("Error while checking content type of file: " + err.Error()) os.Remove(fileLocation) // attempt cleanup @@ -178,7 +178,7 @@ func (s *mediaService) StoreMedia(contents io.Reader, contentType string, filena s.log.Warn("Content type " + fileMime + " (reported as " + contentType + ") is not allowed to be uploaded") os.Remove(fileLocation) // attempt cleanup - return nil, errs.ErrMediaNotAllowed + return nil, common.ErrMediaNotAllowed } } diff --git a/src/github.com/turt2live/matrix-media-repo/services/media_service/remote_media_downloader.go b/src/github.com/turt2live/matrix-media-repo/services/media_service/remote_media_downloader.go index 42e424b9..bf9dd63d 100644 --- a/src/github.com/turt2live/matrix-media-repo/services/media_service/remote_media_downloader.go +++ b/src/github.com/turt2live/matrix-media-repo/services/media_service/remote_media_downloader.go @@ -11,9 +11,9 @@ import ( "github.com/patrickmn/go-cache" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/matrix" - "github.com/turt2live/matrix-media-repo/util/errs" ) type downloadedMedia struct { @@ -65,7 +65,7 @@ func (r *remoteMediaDownloader) Download(server string, mediaId string) (*downlo if resp.StatusCode == 404 { r.log.Info("Remote media not found") - err = errs.ErrMediaNotFound + err = common.ErrMediaNotFound downloadErrorsCache.Set(cacheKey, err, cache.DefaultExpiration) return nil, err } else if resp.StatusCode != 200 { @@ -89,7 +89,7 @@ func (r *remoteMediaDownloader) Download(server string, mediaId string) (*downlo if contentLength > 0 && config.Get().Downloads.MaxSizeBytes > 0 && contentLength > config.Get().Downloads.MaxSizeBytes { r.log.Warn("Attempted to download media that was too large") - err = errs.ErrMediaTooLarge + err = common.ErrMediaTooLarge downloadErrorsCache.Set(cacheKey, err, cache.DefaultExpiration) return nil, err } @@ -97,7 +97,7 @@ func (r *remoteMediaDownloader) Download(server string, mediaId string) (*downlo request := &downloadedMedia{ ContentType: resp.Header.Get("Content-Type"), Contents: resp.Body, - //DesiredFilename (calculated below) + // DesiredFilename (calculated below) } _, params, err := mime.ParseMediaType(resp.Header.Get("Content-Disposition")) diff --git a/src/github.com/turt2live/matrix-media-repo/services/thumbnail_service/thumbnail_service.go b/src/github.com/turt2live/matrix-media-repo/services/thumbnail_service/thumbnail_service.go index 779c9124..201a0bea 100644 --- a/src/github.com/turt2live/matrix-media-repo/services/thumbnail_service/thumbnail_service.go +++ b/src/github.com/turt2live/matrix-media-repo/services/thumbnail_service/thumbnail_service.go @@ -12,12 +12,12 @@ import ( "github.com/fogleman/gg" "github.com/golang/freetype/truetype" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/storage" "github.com/turt2live/matrix-media-repo/storage/stores" "github.com/turt2live/matrix-media-repo/types" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" "golang.org/x/image/font/gofont/gosmallcaps" ) @@ -66,7 +66,7 @@ func (s *thumbnailService) GenerateThumbnail(media *types.Media, width int, heig if media.SizeBytes > config.Get().Thumbnails.MaxSourceBytes { s.log.Warn("Media too large to thumbnail") - return nil, errs.ErrMediaTooLarge + return nil, common.ErrMediaTooLarge } s.log.Info("Generating new thumbnail") diff --git a/src/github.com/turt2live/matrix-media-repo/services/url_service/file_previewer.go b/src/github.com/turt2live/matrix-media-repo/services/url_service/file_previewer.go index 799c368b..3871fb60 100644 --- a/src/github.com/turt2live/matrix-media-repo/services/url_service/file_previewer.go +++ b/src/github.com/turt2live/matrix-media-repo/services/url_service/file_previewer.go @@ -12,9 +12,9 @@ import ( "github.com/ryanuber/go-glob" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) type filePreviewer struct { @@ -37,7 +37,7 @@ func (p *filePreviewer) GeneratePreview(urlStr string) (previewResult, error) { } // We'll consider it not found for the sake of processing - return previewResult{}, errs.ErrMediaNotFound + return previewResult{}, common.ErrMediaNotFound } description := "" @@ -80,7 +80,7 @@ func downloadFileContent(urlStr string, log *logrus.Entry) (*previewImage, error } if config.Get().UrlPreviews.MaxPageSizeBytes > 0 && resp.ContentLength >= 0 && resp.ContentLength > config.Get().UrlPreviews.MaxPageSizeBytes { - return nil, errs.ErrMediaTooLarge + return nil, common.ErrMediaTooLarge } var reader io.Reader diff --git a/src/github.com/turt2live/matrix-media-repo/services/url_service/opengraph_previewer.go b/src/github.com/turt2live/matrix-media-repo/services/url_service/opengraph_previewer.go index 1e034c57..02120c5a 100644 --- a/src/github.com/turt2live/matrix-media-repo/services/url_service/opengraph_previewer.go +++ b/src/github.com/turt2live/matrix-media-repo/services/url_service/opengraph_previewer.go @@ -15,8 +15,8 @@ import ( "github.com/dyatlov/go-opengraph/opengraph" "github.com/ryanuber/go-glob" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" - "github.com/turt2live/matrix-media-repo/util/errs" ) var ogSupportedTypes = []string{"text/*"} @@ -41,7 +41,7 @@ func (p *openGraphUrlPreviewer) GeneratePreview(urlStr string) (previewResult, e } // We'll consider it not found for the sake of processing - return previewResult{}, errs.ErrMediaNotFound + return previewResult{}, common.ErrMediaNotFound } og := opengraph.NewOpenGraph() @@ -111,7 +111,7 @@ func downloadHtmlContent(urlStr string, log *logrus.Entry) (string, error) { } if config.Get().UrlPreviews.MaxPageSizeBytes > 0 && resp.ContentLength >= 0 && resp.ContentLength > config.Get().UrlPreviews.MaxPageSizeBytes { - return "", errs.ErrMediaTooLarge + return "", common.ErrMediaTooLarge } var reader io.Reader diff --git a/src/github.com/turt2live/matrix-media-repo/services/url_service/resource_handler.go b/src/github.com/turt2live/matrix-media-repo/services/url_service/resource_handler.go index a28e6287..a7eae80b 100644 --- a/src/github.com/turt2live/matrix-media-repo/services/url_service/resource_handler.go +++ b/src/github.com/turt2live/matrix-media-repo/services/url_service/resource_handler.go @@ -7,12 +7,12 @@ import ( "github.com/disintegration/imaging" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/resource_handler" "github.com/turt2live/matrix-media-repo/services/media_service" "github.com/turt2live/matrix-media-repo/types" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) type urlResourceHandler struct { @@ -72,13 +72,13 @@ func urlPreviewWorkFn(request *resource_handler.WorkRequest) interface{} { if err != nil { // Transparently convert "unsupported" to "not found" for processing if err == ErrPreviewUnsupported { - err = errs.ErrMediaNotFound + err = common.ErrMediaNotFound } - if err == errs.ErrMediaNotFound { - svc.store.InsertPreviewError(info.urlStr, errs.ErrCodeNotFound) + if err == common.ErrMediaNotFound { + svc.store.InsertPreviewError(info.urlStr, common.ErrCodeNotFound) } else { - svc.store.InsertPreviewError(info.urlStr, errs.ErrCodeUnknown) + svc.store.InsertPreviewError(info.urlStr, common.ErrCodeUnknown) } return &urlPreviewResponse{err: err} } diff --git a/src/github.com/turt2live/matrix-media-repo/services/url_service/url_service.go b/src/github.com/turt2live/matrix-media-repo/services/url_service/url_service.go index 6588e863..a5207885 100644 --- a/src/github.com/turt2live/matrix-media-repo/services/url_service/url_service.go +++ b/src/github.com/turt2live/matrix-media-repo/services/url_service/url_service.go @@ -9,12 +9,12 @@ import ( "github.com/pkg/errors" "github.com/sirupsen/logrus" + "github.com/turt2live/matrix-media-repo/common" "github.com/turt2live/matrix-media-repo/config" "github.com/turt2live/matrix-media-repo/storage" "github.com/turt2live/matrix-media-repo/storage/stores" "github.com/turt2live/matrix-media-repo/types" "github.com/turt2live/matrix-media-repo/util" - "github.com/turt2live/matrix-media-repo/util/errs" ) type urlService struct { @@ -29,15 +29,15 @@ func New(ctx context.Context, log *logrus.Entry) (*urlService) { } func returnCachedPreview(cached *types.CachedUrlPreview) (*types.UrlPreview, error) { - if cached.ErrorCode == errs.ErrCodeInvalidHost { - return nil, errs.ErrInvalidHost - } else if cached.ErrorCode == errs.ErrCodeHostNotFound { - return nil, errs.ErrHostNotFound - } else if cached.ErrorCode == errs.ErrCodeHostBlacklisted { - return nil, errs.ErrHostBlacklisted - } else if cached.ErrorCode == errs.ErrCodeNotFound { - return nil, errs.ErrMediaNotFound - } else if cached.ErrorCode == errs.ErrCodeUnknown { + if cached.ErrorCode == common.ErrCodeInvalidHost { + return nil, common.ErrInvalidHost + } else if cached.ErrorCode == common.ErrCodeHostNotFound { + return nil, common.ErrHostNotFound + } else if cached.ErrorCode == common.ErrCodeHostBlacklisted { + return nil, common.ErrHostBlacklisted + } else if cached.ErrorCode == common.ErrCodeNotFound { + return nil, common.ErrMediaNotFound + } else if cached.ErrorCode == common.ErrCodeUnknown { return nil, errors.New("unknown error") } @@ -70,19 +70,19 @@ func (s *urlService) GetPreview(urlStr string, onHost string, forUserId string, parsedUrl, err := url.ParseRequestURI(urlStr) if err != nil { s.log.Error("Error parsing url: " + err.Error()) - s.store.InsertPreviewError(urlStr, errs.ErrCodeInvalidHost) - return nil, errs.ErrInvalidHost + s.store.InsertPreviewError(urlStr, common.ErrCodeInvalidHost) + return nil, common.ErrInvalidHost } addrs, err := net.LookupIP(parsedUrl.Host) if err != nil { s.log.Error("Error getting host info: " + err.Error()) - s.store.InsertPreviewError(urlStr, errs.ErrCodeInvalidHost) - return nil, errs.ErrInvalidHost + s.store.InsertPreviewError(urlStr, common.ErrCodeInvalidHost) + return nil, common.ErrInvalidHost } if len(addrs) == 0 { - s.store.InsertPreviewError(urlStr, errs.ErrCodeHostNotFound) - return nil, errs.ErrHostNotFound + s.store.InsertPreviewError(urlStr, common.ErrCodeHostNotFound) + return nil, common.ErrHostNotFound } addr := addrs[0] addrStr := fmt.Sprintf("%v", addr)[1:] @@ -98,8 +98,8 @@ func (s *urlService) GetPreview(urlStr string, onHost string, forUserId string, deniedCidrs = []string{} } if !isAllowed(addr, allowedCidrs, deniedCidrs, s.log) { - s.store.InsertPreviewError(urlStr, errs.ErrCodeHostBlacklisted) - return nil, errs.ErrHostBlacklisted + s.store.InsertPreviewError(urlStr, common.ErrCodeHostBlacklisted) + return nil, common.ErrHostBlacklisted } result := <-getResourceHandler().GeneratePreview(urlStr, forUserId, onHost) -- GitLab