main.go 1.2 KB

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