main.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package main
  2. import (
  3. "sparrow/pkg/generator"
  4. "sparrow/pkg/server"
  5. "sparrow/services/knowoapi/model"
  6. "github.com/iris-contrib/middleware/cors"
  7. "github.com/kataras/iris"
  8. )
  9. func main() {
  10. err := server.Init("knowoapi")
  11. if err != nil {
  12. server.Log.Fatal(err)
  13. return
  14. }
  15. app := newApp()
  16. // register a http handler
  17. err = server.RegisterHTTPHandler(app)
  18. if err != nil {
  19. server.Log.Errorf("RegisterHTTPHandler Error: %s", err)
  20. return
  21. }
  22. // go
  23. err = server.Run()
  24. if err != nil {
  25. server.Log.Fatal(err)
  26. }
  27. }
  28. func newApp() *iris.Application {
  29. app := iris.New()
  30. //cors
  31. opts := cors.Options{
  32. AllowedOrigins: []string{"*"},
  33. AllowedHeaders: []string{"Content-Type", "Authorization"},
  34. AllowedMethods: []string{"POST", "GET", "DELETE", "PUT"},
  35. ExposedHeaders: []string{"X-Header"},
  36. //Debug: true,
  37. }
  38. app.Use(cors.New(opts))
  39. app.AllowMethods(iris.MethodOptions)
  40. registerErrors(app)
  41. db, err := getDB()
  42. if err != nil {
  43. //server.Log.Fatal(err)
  44. }
  45. models := new(model.All).Init(db)
  46. gen, err := generator.NewKeyGenerator(*confAESKey)
  47. if err != nil {
  48. //server.Log.Fatal(err)
  49. }
  50. //注册路由
  51. registerRouters(app, models, gen)
  52. app.Build()
  53. return app
  54. }