2023-06-16 23:35:41 -07:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
2023-06-22 11:03:00 -07:00
|
|
|
"os"
|
|
|
|
|
"flag"
|
2023-06-22 11:06:18 -07:00
|
|
|
"net/http"
|
2023-06-16 23:35:41 -07:00
|
|
|
|
2023-06-22 11:03:00 -07:00
|
|
|
"github.com/rs/zerolog"
|
|
|
|
|
"github.com/rs/zerolog/log"
|
|
|
|
|
|
2023-06-22 11:06:18 -07:00
|
|
|
"code.severnaya.net/kordophone-mock/v2/web"
|
2023-06-16 23:35:41 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
2023-06-22 11:03:00 -07:00
|
|
|
debug := flag.Bool("debug", false, "enable debug logging")
|
|
|
|
|
flag.Parse()
|
|
|
|
|
|
|
|
|
|
// Pretty logging
|
|
|
|
|
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
|
|
|
|
|
|
|
|
|
|
// Default level for this example is info, unless debug flag is present
|
|
|
|
|
zerolog.SetGlobalLevel(zerolog.InfoLevel)
|
|
|
|
|
if *debug {
|
|
|
|
|
zerolog.SetGlobalLevel(zerolog.DebugLevel)
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-22 11:06:18 -07:00
|
|
|
log.Info().Msg("Initializing")
|
2023-06-16 23:35:41 -07:00
|
|
|
|
2023-06-22 11:06:18 -07:00
|
|
|
c := web.MockHTTPServerConfiguration{
|
|
|
|
|
AuthEnabled: false,
|
|
|
|
|
}
|
2023-06-18 13:11:51 -07:00
|
|
|
|
2023-06-22 11:03:00 -07:00
|
|
|
addr := ":5738"
|
2023-06-22 11:06:18 -07:00
|
|
|
s := web.NewMockHTTPServer(c)
|
|
|
|
|
httpServer := &http.Server{
|
|
|
|
|
Addr: addr,
|
|
|
|
|
Handler: s,
|
|
|
|
|
}
|
2023-06-16 23:35:41 -07:00
|
|
|
|
2023-06-22 11:06:18 -07:00
|
|
|
// Populate with test data
|
|
|
|
|
s.Server.PopulateWithTestData()
|
|
|
|
|
log.Info().Msgf("Generated test data. %d conversations", len(s.Server.Conversations()))
|
2023-06-16 23:35:41 -07:00
|
|
|
|
2023-06-22 11:03:00 -07:00
|
|
|
log.Info().Msgf("Listening on %s", addr)
|
2023-06-22 11:06:18 -07:00
|
|
|
log.Fatal().Err(httpServer.ListenAndServe())
|
2023-06-16 23:35:41 -07:00
|
|
|
}
|