From a302eeddc095ca6d856bc56034115211e8e5f888 Mon Sep 17 00:00:00 2001 From: n0vad3v Date: Sun, 23 Feb 2020 20:44:06 +0800 Subject: [PATCH 1/2] Add broken flag --- webp_server.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/webp_server.go b/webp_server.go index 317fe68..63dcbe0 100644 --- a/webp_server.go +++ b/webp_server.go @@ -3,9 +3,8 @@ package main import ( "bytes" "encoding/json" + "flag" "fmt" - "github.com/chai2010/webp" - "github.com/gofiber/fiber" "image" "image/jpeg" "image/png" @@ -15,6 +14,9 @@ import ( "path" "strconv" "strings" + + "github.com/chai2010/webp" + "github.com/gofiber/fiber" ) type Config struct { @@ -51,7 +53,12 @@ func main() { app.Server = "WebP Server Go" // Config Here - config := load_config("config.json") + var config_path string + flag.StringVar(&config_path, "config", "config.json", "/path/to/config.json. (Default: ./config.json)") + flag.Parse() + flag.PrintDefaults() + + config := load_config(config_path) HOST := config.HOST PORT := config.PORT @@ -125,7 +132,7 @@ func main() { // Check for Safari users UA := c.Get("User-Agent") - if strings.Contains(UA,"Safari") && !strings.Contains(UA,"Chrome") && !strings.Contains(UA,"Firefox"){ + if strings.Contains(UA, "Safari") && !strings.Contains(UA, "Chrome") && !strings.Contains(UA, "Firefox") { c.SendFile(ImgAbsolutePath) return } From 5ae671f942e526719dbf4c539c756a7e31f5c976 Mon Sep 17 00:00:00 2001 From: Benny~ Date: Sun, 23 Feb 2020 21:20:10 +0800 Subject: [PATCH 2/2] fix cli param, exit on file not found --- webp_server.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/webp_server.go b/webp_server.go index 63dcbe0..75888bb 100644 --- a/webp_server.go +++ b/webp_server.go @@ -27,6 +27,8 @@ type Config struct { AllowedTypes []string `json:"ALLOWED_TYPES"` } +var configPath string + func webpEncoder(p1, p2 string, quality float32) { var buf bytes.Buffer var img image.Image @@ -47,18 +49,19 @@ func webpEncoder(p1, p2 string, quality float32) { fmt.Println("Save output.webp ok") } +func init() { + // Config Here + flag.StringVar(&configPath, "config", "config.json", "/path/to/config.json. (Default: ./config.json)") + flag.Parse() + //flag.PrintDefaults() +} + func main() { app := fiber.New() app.Banner = false app.Server = "WebP Server Go" - // Config Here - var config_path string - flag.StringVar(&config_path, "config", "config.json", "/path/to/config.json. (Default: ./config.json)") - flag.Parse() - flag.PrintDefaults() - - config := load_config(config_path) + config := load_config(configPath) HOST := config.HOST PORT := config.PORT @@ -161,7 +164,7 @@ func load_config(path string) Config { var config Config jsonObject, err := os.Open(path) if err != nil { - fmt.Println(err.Error()) + log.Fatal(err) } defer jsonObject.Close() decoder := json.NewDecoder(jsonObject)