| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*
- accetta un parametro da riga di comando
- esegue la generazione fornendo un numero,un simbolo, una parola, un simbolo, un numero
- */
- package main
- import (
- "fmt"
- "os"
- "966.it/PasswordGenerator"
- "github.com/gin-gonic/gin"
- "net/http"
- "flag"
- )
- func main() {
- // se true, visualizza alcuni messaggi in Generator
- var nFlag = flag.Int("n",6,"Numeri per il pin")
- var gFlag = flag.Bool("g",false,"Genera un pin sulla console")
- var sFlag = flag.Bool("s",false,"Genera una password")
- var fFlag = flag.String("f","","posizione directory/file da leggere")
- var bFlag = flag.Bool("b",false,"esegue il servizio http")
- var pFlag = flag.String("p","localhost:8080","Porta per il servizio http")
- var dbFlag = flag.Bool("db",false,"abilita la stampa messaggi")
- flag.Parse()
- var check bool = false
- if *dbFlag {
- fmt.Printf("Numero di elementi per il pin : %d\n",*nFlag)
- fmt.Printf("Genera solo un pin numerico : %B\n",*gFlag)
- fmt.Printf("Genera una password alfanum. : %B\n",*sFlag)
- fmt.Printf("esecuzione demone HTTP : %B\n",*bFlag)
- fmt.Printf("Porta di default demone HTTP : %s\n",*pFlag)
- fmt.Printf("Directory/file da leggere : %s\n",*fFlag)
- fmt.Printf("Debug : %B\n\n",*dbFlag)
- fmt.Printf("Primo giro di verifiche\n")
- if *nFlag < 1 || *nFlag > 10 {
- fmt.Printf("Errore: lunghezza pin numerico fuori dal range 1-10\n")
- check = true
- }
- if (*fFlag == "") && !(*gFlag && *sFlag) {
- fmt.Printf("Errore: non sono stati indicati i parametri dove trovare i file\n")
- check = true
- }
- }
- if check {
- fmt.Printf("Verificare i parametri, c'e' qualcosa di errato\n")
- os.Exit(1)
- }
- if *gFlag {
- fmt.Printf("%s\n",mod.RunNumber(*nFlag,*dbFlag))
- }
- if *sFlag && *fFlag != "" {
- fmt.Printf("%s\n",mod.Run(*fFlag,*dbFlag))
- }
- if *bFlag {
- r := gin.Default()
- r.LoadHTMLGlob("templates/*")
- r.GET("/", func(c *gin.Context) {
- c.HTML(http.StatusOK,"index.tmpl",gin.H{
- "Password1":mod.Run(*fFlag,*dbFlag),
- "Password2":mod.Run(*fFlag,*dbFlag),
- "Password3":mod.Run(*fFlag,*dbFlag),
- "Password4":mod.RunNumber(*nFlag,*dbFlag),
- "Password5":mod.RunNumber(*nFlag+3,*dbFlag),
- })
- })
- r.GET("/json", func(c *gin.Context) {
- c.JSON(http.StatusOK,gin.H{
- "Password1":mod.Run(*fFlag,*dbFlag),
- "Password2":mod.Run(*fFlag,*dbFlag),
- "Password3":mod.Run(*fFlag,*dbFlag),
- "Password4":mod.RunNumber(*nFlag,*dbFlag),
- "Password5":mod.RunNumber(*nFlag+3,*dbFlag),
- })
- })
-
- r.Run(*pFlag)
- }
- }
|