store: prepare upload
This commit is contained in:
		@ -7,6 +7,7 @@ import (
 | 
			
		||||
	"log"
 | 
			
		||||
 | 
			
		||||
	yaml "gopkg.in/yaml.v2"
 | 
			
		||||
 | 
			
		||||
	"novit.nc/direktil/local-server/pkg/clustersconfig"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,7 @@ import (
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	bind        = flag.String("bind", ":8080", "Bind address")
 | 
			
		||||
	uploadToken = flag.String("upload-token", "", "Upload token (not uploads allowed if empty)")
 | 
			
		||||
	uploadToken = flag.String("upload-token", "", "Upload token (no uploads allowed if empty)")
 | 
			
		||||
	storeDir    = flag.String("store-dir", "/srv/dkl-store", "Store directory")
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@ -32,6 +32,10 @@ func main() {
 | 
			
		||||
func handleHTTP(w http.ResponseWriter, req *http.Request) {
 | 
			
		||||
	filePath := filepath.Join(*storeDir, req.URL.Path)
 | 
			
		||||
 | 
			
		||||
	l := fmt.Sprintf("%s %s", req.Method, filePath)
 | 
			
		||||
	log.Print(l)
 | 
			
		||||
	defer log.Print(l, " done")
 | 
			
		||||
 | 
			
		||||
	stat, err := os.Stat(filePath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		writeErr(err, w)
 | 
			
		||||
@ -43,10 +47,6 @@ func handleHTTP(w http.ResponseWriter, req *http.Request) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	l := fmt.Sprintf("%s %s", req.Method, filePath)
 | 
			
		||||
	log.Print(l)
 | 
			
		||||
	defer log.Print(l, " done")
 | 
			
		||||
 | 
			
		||||
	switch req.Method {
 | 
			
		||||
	case "GET":
 | 
			
		||||
		sha1Hex, err := hashOf(filePath)
 | 
			
		||||
@ -58,8 +58,9 @@ func handleHTTP(w http.ResponseWriter, req *http.Request) {
 | 
			
		||||
		w.Header().Set("X-Content-SHA1", sha1Hex)
 | 
			
		||||
		http.ServeFile(w, req, filePath)
 | 
			
		||||
 | 
			
		||||
	//case "POST":
 | 
			
		||||
	//	// TODO upload
 | 
			
		||||
	case "POST":
 | 
			
		||||
		// TODO upload
 | 
			
		||||
		http.Error(w, "not implemented", http.StatusNotImplemented)
 | 
			
		||||
 | 
			
		||||
	default:
 | 
			
		||||
		http.NotFound(w, req)
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user