Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "encoding/json"
  5. "log"
  6. "net"
  7. "net/http"
  8. "net/http/fcgi"
  9. "os"
  10. )
  11.  
  12. func main() {
  13. //setup the config
  14. configFile := "config.json"
  15. fd, err := os.Open(configFile)
  16. if err != nil {
  17. log.Fatalf("Can't open config file: %v", configFile)
  18. }
  19. CFG := config{}
  20. err = json.NewDecoder(fd).Decode(&CFG)
  21. if err != nil {
  22. log.Fatalf("parse config error: %v", err)
  23. }
  24.  
  25. //init DB connection
  26. db.InitConnectionInfo(CFG.Database.Host, CFG.Database.Port, CFG.Database.Database, CFG.Database.Username, CFG.Database.Password)
  27.  
  28. //register HTTP handler
  29. sessionHandler := &handlers.SessionHandler{}
  30. http.Handle("/sessions", sessionHandler)
  31. http.Handle("/sessions/", sessionHandler)
  32.  
  33. userHandler := &handlers.UserHandler{
  34. Facebook: &oa.OAuth{AppId: CFG.Facebook.Key, Secret: CFG.Facebook.Secret},
  35. Sina: &oa.OAuth{AppId: CFG.Sina.Key, Secret: CFG.Sina.Secret},
  36. Google: &oa.OAuth{AppId: CFG.Google.Key, Secret: CFG.Google.Secret},
  37. Tencent: &oa.OAuth{AppId: CFG.Tencent.Key, Secret: CFG.Tencent.Secret},
  38. Mixpanel: &hu.Share{Token: CFG.Mixpanel.Token},
  39. FacebookShare: &hu.Share{Token: CFG.Facebook.Token},
  40. SinaShare: &hu.Share{Token: CFG.Sina.Token},
  41. GoogleShare: &hu.Share{Token: CFG.Google.Token},
  42. TencentShare: &hu.Share{Token: CFG.Tencent.Token},
  43. }
  44. http.Handle("/users", userHandler)
  45. http.Handle("/users/", userHandler)
  46.  
  47. //and so on ...
  48.  
  49. //run server
  50. log.Println("start listen: ", CFG.FcgiAddr)
  51. l, _ := net.Listen("tcp", CFG.FcgiAddr)
  52. log.Fatalf("server error is %v", fcgi.Serve(l, nil))
  53. //@@select {}
  54. log.Println("end listen")
  55. }
  56.  
  57. var x = &{...} //init value
  58. fillX(..., x) //fill the fields of x pointer
  59. //here the fields of x pointer is not same to inner of fillX func
  60.  
  61. var x = &{...}
  62. x = fullX(..., x)
  63. the problem resolved.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement