github.com/peteretelej/iso8583@v0.0.0-20170605053616-4ee92c44e299/cmd/isoweb/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "log" 6 "os" 7 8 "github.com/peteretelej/iso8583" 9 ) 10 11 var ( 12 socket = flag.Bool("socket", false, "starts a listener on a socket") 13 14 // server flags 15 dir = flag.String("dir", "../../web", "directory containing web static assets") 16 listen = flag.String("listen", ":8080", "http server listen address") 17 ) 18 19 func main() { 20 flag.Parse() 21 if *socket { 22 launchSocket() 23 return 24 } 25 serve() 26 } 27 28 func serve() { 29 if err := os.Chdir(*dir); err != nil { 30 log.Fatal(err) 31 } 32 svr, err := iso8583.WebServer(*listen) 33 if err != nil { 34 log.Fatal(err) 35 } 36 log.Printf("launching web server at %s", *listen) 37 log.Fatal(svr.ListenAndServe()) 38 } 39 func launchSocket() { 40 log.Printf("launching socket listener at: %s", *listen) 41 log.Fatal(iso8583.Listen(*listen)) 42 }