-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
33 lines (27 loc) · 932 Bytes
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package main
import (
"fmt"
"os"
cfenv "github.com/cloudfoundry-community/go-cfenv"
"github.com/go-martini/martini"
"github.com/pivotal-pez/pezauth/keycheck"
pez "github.com/pivotal-pez/pezdispenser/service"
)
func main() {
appEnv, err := cfenv.Current()
if err != nil {
panic(fmt.Sprintf("your env is busted Error:%s", err.Error()))
}
validatorServiceName := os.Getenv("UPS_PEZVALIDATOR_NAME")
targetKeyName := os.Getenv("UPS_PEZVALIDATOR_TARGET")
service, _ := appEnv.Services.WithName(validatorServiceName)
validationTargetURL := fmt.Sprintf("%s", service.Credentials[targetKeyName])
m := martini.Classic()
if appEnv, err := cfenv.Current(); err == nil {
keyCheckHandler := keycheck.NewAPIKeyCheckMiddleware(validationTargetURL).Handler()
pez.InitRoutes(m, keyCheckHandler, appEnv)
} else {
panic(fmt.Sprint("Experienced an error trying to grab current cf environment:", err.Error()))
}
m.Run()
}