Initial commit

This commit is contained in:
2018-09-17 14:17:54 +02:00
parent c6cdb6c16a
commit 9b11769a70
11 changed files with 553 additions and 0 deletions

24
cmd/server/config.go Normal file
View File

@ -0,0 +1,24 @@
package main
import (
"github.com/caarlos0/env"
)
type config struct {
HTTPHost string `env:"ORION_HTTP_HOST"`
HTTPPort string `env:"ORION_HTTP_PORT"`
}
func overwriteFromEnv(conf *config) error {
if err := env.Parse(conf); err != nil {
return err
}
return nil
}
func newDefaultConfig() *config {
return &config{
HTTPHost: "0.0.0.0",
HTTPPort: "8888",
}
}

36
cmd/server/main.go Normal file
View File

@ -0,0 +1,36 @@
package main
import (
"fmt"
"log"
"net/http"
"github.com/go-chi/chi"
"github.com/go-chi/chi/middleware"
)
var (
conf = newDefaultConfig()
)
func main() {
if err := overwriteFromEnv(conf); err != nil {
log.Fatal(err)
}
r := chi.NewRouter()
r.Use(middleware.Recoverer)
r.Use(middleware.RequestID)
r.Use(middleware.RealIP)
r.Use(middleware.Logger)
hostStr := fmt.Sprintf("%s:%s", conf.HTTPHost, conf.HTTPPort)
log.Printf("listening on http://%s", hostStr)
if err := http.ListenAndServe(hostStr, r); err != nil {
log.Fatal(err)
}
}