|
- package main
-
- import (
- "biukop.com/sfm/loan"
- "fmt"
- log "github.com/sirupsen/logrus"
- "net/http"
- )
-
- type httpEntry func(http.ResponseWriter, *http.Request)
-
- var httpEntryMap = map[string]httpEntry{
- apiV1Prefix: apiV1Main,
- "/dummy/": dummyHandler,
- }
-
- func main() {
-
- err := config.readConfig() //wechat API config
- if err != nil {
- log.Println(err)
- log.Fatalf("unable to read %s, program quit\n", configFile)
- return
- }
-
- setupRootFileServer()
- //always the last one
- setupHTTPHandler()
-
- }
-
- func setupRootFileServer() {
- //root of doc
- for idx, node := range config.Static {
- log.Printf("setting up static %d with %+v\n", idx, node)
- fs := http.FileServer(http.Dir(node.Dir))
- http.Handle(node.StaticUrl, http.StripPrefix(node.StripPrefix, fs))
- }
- }
-
- func setupHTTPHandler() {
-
- for key, val := range httpEntryMap {
- http.HandleFunc(key, val)
- }
-
- log.Printf("Server started at %s:%s\n", config.Host, config.Port)
- log.Fatal(http.ListenAndServe(config.Host+":"+config.Port, nil))
-
- }
-
- func dummyHandler(w http.ResponseWriter, r *http.Request) {
- p := loan.People{}
- p.FakeNew()
- fmt.Fprintf(w, "Hello, there %s, %+v\n", loan.Version, p)
- }
|