Initial commit
This commit is contained in:
24
cmd/server/config.go
Normal file
24
cmd/server/config.go
Normal 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
36
cmd/server/main.go
Normal 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)
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user