MailHog/MailHog-Server/main.go

43 lines
798 B
Go
Raw Normal View History

2014-11-23 15:05:11 +00:00
package main
import (
"flag"
"os"
"github.com/ian-kent/Go-MailHog/MailHog-Server/config"
"github.com/ian-kent/Go-MailHog/MailHog-Server/http/api"
"github.com/ian-kent/Go-MailHog/MailHog-Server/smtp"
"github.com/ian-kent/Go-MailHog/MailHog-UI/assets"
"github.com/ian-kent/Go-MailHog/http"
"github.com/ian-kent/go-log/log"
gotcha "github.com/ian-kent/gotcha/app"
)
var conf *config.Config
var exitCh chan int
func configure() {
config.RegisterFlags()
flag.Parse()
conf = config.Configure()
}
func main() {
configure()
exitCh = make(chan int)
cb := func(app *gotcha.App) {
api.CreateAPIv1(conf, app)
}
go http.Listen(conf, assets.Asset, exitCh, cb)
go smtp.Listen(conf, exitCh)
for {
select {
case <-exitCh:
log.Printf("Received exit signal")
os.Exit(0)
}
}
}