github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "io/ioutil" 7 "os" 8 "runtime" 9 "strconv" 10 11 "github.com/mundipagg/boleto-api/app" 12 "github.com/mundipagg/boleto-api/config" 13 ) 14 15 var ( 16 env string 17 processID = os.Getpid() 18 devMode = flag.Bool("dev", false, "-dev To run in dev mode") 19 mockMode = flag.Bool("mock", false, "-mock To run mock requests") 20 disableLog = flag.Bool("nolog", false, "-nolog disable seq log") 21 airPlaneMode = flag.Bool("airplane-mode", false, "-airplane-mode run api in dev, mock and nolog mode") 22 mockOnly = flag.Bool("mockonly", false, "-mockonly run just mock service") 23 ) 24 25 func init() { 26 createPIDfile() 27 } 28 29 func createPIDfile() { 30 p := strconv.Itoa(processID) 31 ioutil.WriteFile("boletoapi.pid", []byte(p), 0644) 32 } 33 34 func main() { 35 flag.Parse() 36 runtime.GOMAXPROCS(runtime.NumCPU()) 37 if *mockOnly { 38 w := make(chan int) 39 config.Install(true, true, true) 40 // robot.GoRobots() 41 <-w 42 } else { 43 params := app.NewParams() 44 if *airPlaneMode { 45 params.DevMode = true 46 params.DisableLog = false 47 params.MockMode = true 48 env = strconv.FormatBool(params.DevMode) 49 } else { 50 params.DevMode = *devMode 51 params.DisableLog = *disableLog 52 params.MockMode = *mockMode 53 env = strconv.FormatBool(params.DevMode) 54 } 55 logo(env) 56 app.Run(params) 57 58 } 59 60 } 61 62 func logo(env string) { 63 l := ` 64 $$$$$$$\ $$\ $$\ $$$$$$\ $$\ 65 $$ __$$\ $$ | $$ | $$ __$$\ \__| 66 $$ | $$ | $$$$$$\ $$ | $$$$$$\ $$$$$$\ $$$$$$\ $$ / $$ | $$$$$$\ $$\ 67 $$$$$$$\ |$$ __$$\ $$ |$$ __$$\\_$$ _| $$ __$$\ $$$$$$$$ |$$ __$$\ $$ | 68 $$ __$$\ $$ / $$ |$$ |$$$$$$$$ | $$ | $$ / $$ |$$ __$$ |$$ / $$ |$$ | 69 $$ | $$ |$$ | $$ |$$ |$$ ____| $$ |$$\ $$ | $$ |$$ | $$ |$$ | $$ |$$ | 70 $$$$$$$ |\$$$$$$ |$$ |\$$$$$$$\ \$$$$ |\$$$$$$ |$$ | $$ |$$$$$$$ |$$ | 71 \_______/ \______/ \__| \_______| \____/ \______/ \__| \__|$$ ____/ \__| 72 $$ | 73 $$ | 74 \__| 75 ` 76 fmt.Println(l) 77 fmt.Println("Version: " + config.Get().Version) 78 fmt.Println("DevMode: " + env) 79 fmt.Println("RecoveryRobot Enabled: " + config.Get().RecoveryRobotExecutionEnabled) 80 }