package main import ( "bytes" "flag" "fmt" "io/ioutil" "net/http" "path" "strings" "git.ramonr.ch/ramon/mediaconverter/converter" "k8s.io/klog" ) // set at compile time var ( version = "" commit = "" ) const baseDir = "/mnt/data/media/downloads/music/" func main() { klog.InitFlags(nil) postAddr := flag.String("post-addr", "http://localhost:8088", "the address where to post the request") directory := flag.String("dir", "", "the directory that contains the flac files. If relative path, baseDir will be appendend automatically. baseDir: /mnt/data/media/downloads/music/") artistName := flag.String("artist", "", "name of the artist") flag.Parse() fmt.Printf("Mediaconverter version %v, commit %v\n", version, commit) if !strings.HasPrefix("/", *directory) { *directory = path.Join(baseDir, *directory) } msg, err := converter.CreateMessage(*artistName, *directory) if err != nil { klog.Fatalf("could not create message: %v", err) } klog.Infof("sending request") req, err := http.NewRequest("POST", *postAddr, bytes.NewBuffer(msg)) if err != nil { panic(err) } req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() klog.Infof("received answer") fmt.Println("response Status:", resp.Status) fmt.Println("response Headers:", resp.Header) body, _ := ioutil.ReadAll(resp.Body) fmt.Println("response Body:", string(body)) }