package imaging import ( domain "RenewCMS/internal/domain/image" "errors" ) var errMalformedContainer = errors.New("malformed image container") type MetadataStripper struct{} var _ domain.MetadataStripper = &MetadataStripper{} func NewMetadataStripper() *MetadataStripper { return &MetadataStripper{} } func (s *MetadataStripper) Strip(contentType string, data []byte) ([]byte, error) { var stripped []byte var err error switch contentType { case "image/jpeg": stripped, err = stripJPEG(data) case "image/png": stripped, err = stripPNG(data) case "image/webp": stripped, err = stripWebP(data) default: return data, nil } if err != nil { return nil, errors.Join(domain.ErrImageUnreadable, err) } return stripped, nil }