This commit is contained in:
Andrea Spacca 2018-07-07 20:23:50 +02:00
parent 4f637def86
commit 0605b8e271
4 changed files with 29 additions and 35 deletions

View file

@ -271,7 +271,6 @@ func New() *Cmd {
options = append(options, server.HttpAuthCredentials(httpAuthUser, httpAuthPass)) options = append(options, server.HttpAuthCredentials(httpAuthUser, httpAuthPass))
} }
switch provider := c.String("provider"); provider { switch provider := c.String("provider"); provider {
case "s3": case "s3":
if accessKey := c.String("aws-access-key"); accessKey == "" { if accessKey := c.String("aws-access-key"); accessKey == "" {

View file

@ -59,8 +59,8 @@ import (
"github.com/gorilla/mux" "github.com/gorilla/mux"
"github.com/russross/blackfriday" "github.com/russross/blackfriday"
qrcode "github.com/skip2/go-qrcode"
"encoding/base64" "encoding/base64"
qrcode "github.com/skip2/go-qrcode"
) )
var ( var (
@ -326,7 +326,7 @@ func MetadataForRequest(contentType string, r *http.Request) Metadata {
MaxDate: time.Now().Add(time.Hour * 24 * 365 * 10), MaxDate: time.Now().Add(time.Hour * 24 * 365 * 10),
Downloads: 0, Downloads: 0,
MaxDownloads: 99999999, MaxDownloads: 99999999,
DeletionToken: Encode(10000000 + int64(rand.Intn(1000000000))) + Encode(10000000 + int64(rand.Intn(1000000000))), DeletionToken: Encode(10000000+int64(rand.Intn(1000000000))) + Encode(10000000+int64(rand.Intn(1000000000))),
} }
if v := r.Header.Get("Max-Downloads"); v == "" { if v := r.Header.Get("Max-Downloads"); v == "" {
@ -439,7 +439,7 @@ func (s *Server) putHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/plain") w.Header().Set("Content-Type", "text/plain")
relativeURL, _ := url.Parse(path.Join(token, filename)) relativeURL, _ := url.Parse(path.Join(token, filename))
deleteUrl , _ := url.Parse(path.Join(token, filename, metadata.DeletionToken)) deleteUrl, _ := url.Parse(path.Join(token, filename, metadata.DeletionToken))
w.Header().Set("X-Url-Delete", resolveUrl(r, deleteUrl, true)) w.Header().Set("X-Url-Delete", resolveUrl(r, deleteUrl, true))

View file

@ -203,7 +203,6 @@ func TLSConfig(cert, pk string) OptionFn {
} }
} }
func HttpAuthCredentials(user string, pass string) OptionFn { func HttpAuthCredentials(user string, pass string) OptionFn {
return func(srvr *Server) { return func(srvr *Server) {
srvr.AuthUser = user srvr.AuthUser = user

View file

@ -11,16 +11,16 @@ import (
"strconv" "strconv"
"sync" "sync"
"github.com/goamz/goamz/s3"
"encoding/json" "encoding/json"
"github.com/goamz/goamz/s3"
"golang.org/x/oauth2"
"golang.org/x/net/context" "golang.org/x/net/context"
"golang.org/x/oauth2"
"golang.org/x/oauth2/google" "golang.org/x/oauth2/google"
"google.golang.org/api/drive/v3" "google.golang.org/api/drive/v3"
"google.golang.org/api/googleapi" "google.golang.org/api/googleapi"
"net/http"
"io/ioutil" "io/ioutil"
"net/http"
) )
type Storage interface { type Storage interface {
@ -83,10 +83,10 @@ func (s *LocalStorage) Get(token string, filename string) (reader io.ReadCloser,
func (s *LocalStorage) Delete(token string, filename string) (err error) { func (s *LocalStorage) Delete(token string, filename string) (err error) {
metadata := filepath.Join(s.basedir, token, fmt.Sprintf("%s.metadata", filename)) metadata := filepath.Join(s.basedir, token, fmt.Sprintf("%s.metadata", filename))
os.Remove(metadata); os.Remove(metadata)
path := filepath.Join(s.basedir, token, filename) path := filepath.Join(s.basedir, token, filename)
err = os.Remove(path); err = os.Remove(path)
return return
} }
@ -338,7 +338,7 @@ func NewGDriveStorage(clientJsonFilepath string, localConfigPath string, basedir
return nil, err return nil, err
} }
storage := &GDrive{service: srv, basedir: basedir, rootId: "", localConfigPath:localConfigPath} storage := &GDrive{service: srv, basedir: basedir, rootId: "", localConfigPath: localConfigPath}
err = storage.setupRoot() err = storage.setupRoot()
if err != nil { if err != nil {
return nil, err return nil, err
@ -386,7 +386,7 @@ func (s *GDrive) hasChecksum(f *drive.File) bool {
return f.Md5Checksum != "" return f.Md5Checksum != ""
} }
func (s *GDrive) list(nextPageToken string, q string) (*drive.FileList, error){ func (s *GDrive) list(nextPageToken string, q string) (*drive.FileList, error) {
return s.service.Files.List().Fields("nextPageToken, files(id, name, mimeType)").Q(q).PageToken(nextPageToken).Do() return s.service.Files.List().Fields("nextPageToken, files(id, name, mimeType)").Q(q).PageToken(nextPageToken).Do()
} }
@ -439,7 +439,6 @@ func (s *GDrive) findId(filename string, token string) (string, error) {
l, err = s.list(l.NextPageToken, q) l, err = s.list(l.NextPageToken, q)
} }
if fileId == "" { if fileId == "" {
return "", fmt.Errorf("Cannot find file %s/%s", token, filename) return "", fmt.Errorf("Cannot find file %s/%s", token, filename)
} }
@ -484,7 +483,6 @@ func (s *GDrive) Get(token string, filename string) (reader io.ReadCloser, conte
return return
} }
contentLength = uint64(fi.Size) contentLength = uint64(fi.Size)
contentType = fi.MimeType contentType = fi.MimeType
@ -534,7 +532,6 @@ func (s *GDrive) Put(token string, filename string, reader io.Reader, contentTyp
return err return err
} }
if dirId == "" { if dirId == "" {
dir := &drive.File{ dir := &drive.File{
Name: token, Name: token,
@ -567,7 +564,6 @@ func (s *GDrive) Put(token string, filename string, reader io.Reader, contentTyp
return nil return nil
} }
// Retrieve a token, saves the token, then returns the generated client. // Retrieve a token, saves the token, then returns the generated client.
func getGDriveClient(config *oauth2.Config) *http.Client { func getGDriveClient(config *oauth2.Config) *http.Client {
tokenFile := "token.json" tokenFile := "token.json"