diff --git a/.drone.yml b/.drone.yml index b2d0bd9..6bbbbee 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,6 +4,11 @@ type: docker name: default steps: +- name: staticcheck + image: golang:1.18.3-alpine3.16 + commands: + - go install honnef.co/go/tools/cmd/staticcheck@latest + - staticcheck - name: build image: plugins/docker settings: @@ -11,6 +16,8 @@ steps: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD - repo: 185504a9/fsu + repo: 185504a9/sfu tags: latest - target: run_prod \ No newline at end of file + target: run_prod + depends_on: + - staticcheck \ No newline at end of file diff --git a/handlers.go b/handlers.go index 348a913..ecb42df 100644 --- a/handlers.go +++ b/handlers.go @@ -10,7 +10,7 @@ import ( ) func downloadFile(w http.ResponseWriter, req *http.Request, fileName string) { - Info.Println(fmt.Sprintf("server: will download %v", fileName)) + Info.Printf("server: will download %v\n", fileName) file, err := os.Open(fmt.Sprintf("%v/%v", SFU_FILES_DIR, fileName)) if err != nil { Error.Println(err) @@ -34,9 +34,9 @@ func fileExists(fileName string) bool { } func deleteFile(w http.ResponseWriter, req *http.Request, fileName string) { - Info.Println(fmt.Sprintf("server: will delete %v", fileName)) + Info.Printf("server: will delete %v\n", fileName) if !fileExists(fileName) { - Error.Println(fmt.Sprintf("%v does not exist", fileName)) + Error.Printf("%v does not exist\n", fileName) http.Error(w, "File not found", http.StatusNotFound) return } @@ -59,12 +59,12 @@ func uploadFile(w http.ResponseWriter, req *http.Request) { fileExists := fileExists(fileHeader.Filename) forceOverwrite := req.FormValue("force") if fileExists && forceOverwrite != "true" { - Error.Println(fmt.Sprintf("file %v already exists", fileHeader.Filename)) + Error.Printf("file %v already exists\n", fileHeader.Filename) http.Error(w, "File already exists", http.StatusConflict) return } if !fileExists || (forceOverwrite == "true" && fileExists) { - Info.Println(fmt.Sprintf("server: will upload %v", fileHeader.Filename)) + Info.Printf("server: will upload %v\n", fileHeader.Filename) out, err := os.Create(fmt.Sprintf("%v/%v", SFU_FILES_DIR, fileHeader.Filename)) if err != nil { Error.Println(err) @@ -83,15 +83,14 @@ func uploadFile(w http.ResponseWriter, req *http.Request) { return } http.Error(w, "internal server error", http.StatusInternalServerError) - return } func listFiles(w http.ResponseWriter, req *http.Request) { - Info.Println(fmt.Sprintf("server: will list uploaded files on %v", SFU_FILES_DIR)) + Info.Printf("server: will list uploaded files on %v\n", SFU_FILES_DIR) files, err := ioutil.ReadDir(SFU_FILES_DIR) if err != nil { - Warning.Println(fmt.Sprintf("%v does not exist", SFU_FILES_DIR)) - Info.Println(fmt.Sprintf("will create %v", SFU_FILES_DIR)) + Warning.Printf("%v does not exist\n", SFU_FILES_DIR) + Info.Printf("will create %v\n", SFU_FILES_DIR) _ = os.Mkdir(SFU_FILES_DIR, os.ModePerm) } fmt.Fprint(w, "
    ") diff --git a/main.go b/main.go index b673228..55f5e42 100644 --- a/main.go +++ b/main.go @@ -12,10 +12,10 @@ var SFU_FILES_DIR string = getEnvvar("SFU_FILES_DIR") var SFU_PORT string = getEnvvar("SFU_PORT") func getEnvvar(envvar_name string) string { - Info.Printf("getting envvar %v", envvar_name) + Info.Printf("getting envvar %v\n", envvar_name) envvar_value, isSet := os.LookupEnv(envvar_name) if !isSet { - Error.Println(fmt.Sprintf("%v is not set", envvar_name)) + Error.Printf("%v is not set\n", envvar_name) os.Exit(1) } return envvar_value @@ -33,9 +33,9 @@ func emptyArray(s []string) []string { func routeFiles(w http.ResponseWriter, r *http.Request) { path := r.URL.Path - Info.Println(fmt.Sprintf("received %v on %v", r.Method, path)) + Info.Printf("received %v on %v", r.Method, path) paths := emptyArray(strings.Split(path, "/")) - Info.Println(fmt.Sprintf("paths %v", paths)) + Info.Printf("paths %v\n", paths) switch len(paths) { case 1: switch r.Method { @@ -45,8 +45,8 @@ func routeFiles(w http.ResponseWriter, r *http.Request) { uploadFile(w, r) default: http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) - Warning.Println(fmt.Sprintf("%v not allowed", r.Method)) - Error.Println(fmt.Sprintf("will return %v", http.StatusMethodNotAllowed)) + Warning.Printf("%v not allowed\n", r.Method) + Error.Printf("will return %v\n", http.StatusMethodNotAllowed) } return case 2: @@ -57,8 +57,8 @@ func routeFiles(w http.ResponseWriter, r *http.Request) { deleteFile(w, r, paths[1]) default: http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) - Warning.Println(fmt.Sprintf("%v not allowed", r.Method)) - Error.Println(fmt.Sprintf("will return %v", http.StatusMethodNotAllowed)) + Warning.Printf("%v not allowed\n", r.Method) + Error.Printf("will return %v\n", http.StatusMethodNotAllowed) } default: http.Error(w, "Not found", http.StatusNotFound) @@ -87,10 +87,10 @@ func main() { mux := http.NewServeMux() mux.HandleFunc("/", route) port := fmt.Sprintf(":%v", SFU_PORT) - Info.Println(fmt.Sprintf("running SFU on port %v", port)) + Info.Printf("running SFU on port %v\n", port) err := http.ListenAndServe(port, mux) if err != nil { - Error.Println(fmt.Sprintf("%v port may not be available", port)) + Error.Printf("%v port may not be available\n", port) os.Exit(1) } }