mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-08 13:19:58 -06:00
Merge pull request #3669 from owncloud/thumbnails-fix
reduce hacky reference handling in thumbnailer
This commit is contained in:
@@ -3,3 +3,4 @@ Change: Use new space ID util functions
|
||||
Changed code to use the new space ID util functions so that everything works with the new spaces ID format.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/3648
|
||||
https://github.com/owncloud/ocis/pull/3669
|
||||
|
||||
@@ -256,20 +256,16 @@ func (g Thumbnail) handleWebdavSource(ctx context.Context,
|
||||
func (g Thumbnail) stat(path, auth string) (*provider.StatResponse, error) {
|
||||
ctx := metadata.AppendToOutgoingContext(context.Background(), revactx.TokenHeader, auth)
|
||||
|
||||
var ref *provider.Reference
|
||||
if strings.Contains(path, "!") {
|
||||
parsed, err := storagespace.ParseReference(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ref = &parsed
|
||||
} else {
|
||||
ref = &provider.Reference{
|
||||
ref, err := storagespace.ParseReference(path)
|
||||
if err != nil {
|
||||
// If the path is not a spaces reference try to handle it like a plain
|
||||
// path reference.
|
||||
ref = provider.Reference{
|
||||
Path: path,
|
||||
}
|
||||
}
|
||||
|
||||
req := &provider.StatRequest{Ref: ref}
|
||||
req := &provider.StatRequest{Ref: &ref}
|
||||
rsp, err := g.cs3Client.Stat(ctx, req)
|
||||
if err != nil {
|
||||
g.logger.Error().Err(err).Str("path", path).Msg("could not stat file")
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1"
|
||||
rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
|
||||
@@ -44,20 +43,16 @@ func (s CS3) Get(ctx context.Context, path string) (io.ReadCloser, error) {
|
||||
if !ok {
|
||||
return nil, errors.New("cs3source: authorization missing")
|
||||
}
|
||||
var ref *provider.Reference
|
||||
if strings.Contains(path, "!") {
|
||||
parsed, err := storagespace.ParseReference(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ref = &parsed
|
||||
} else {
|
||||
ref = &provider.Reference{
|
||||
ref, err := storagespace.ParseReference(path)
|
||||
if err != nil {
|
||||
// If the path is not a spaces reference try to handle it like a plain
|
||||
// path reference.
|
||||
ref = provider.Reference{
|
||||
Path: path,
|
||||
}
|
||||
}
|
||||
ctx = metadata.AppendToOutgoingContext(context.Background(), revactx.TokenHeader, auth)
|
||||
rsp, err := s.client.InitiateFileDownload(ctx, &provider.InitiateFileDownloadRequest{Ref: ref})
|
||||
rsp, err := s.client.InitiateFileDownload(ctx, &provider.InitiateFileDownloadRequest{Ref: &ref})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -124,7 +124,7 @@ func (g Webdav) SpacesThumbnail(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
t := r.Header.Get(TokenHeader)
|
||||
|
||||
fullPath := tr.Identifier + "!" + tr.Filepath
|
||||
fullPath := tr.Identifier + tr.Filepath
|
||||
rsp, err := g.thumbnailsClient.GetThumbnail(r.Context(), &thumbnailssvc.GetThumbnailRequest{
|
||||
Filepath: strings.TrimLeft(tr.Filepath, "/"),
|
||||
ThumbnailType: extensionToThumbnailType(strings.TrimLeft(tr.Extension, ".")),
|
||||
|
||||
Reference in New Issue
Block a user