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  }