main.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package main
  2. import (
  3. "sparrow/pkg/server"
  4. "github.com/iris-contrib/middleware/cors"
  5. "github.com/kataras/iris"
  6. )
  7. func main() {
  8. err := server.Init("fileaccess")
  9. if err != nil {
  10. server.Log.Fatal(err)
  11. return
  12. }
  13. fileaccess := NewFileAccess(*conRedisHost)
  14. err = server.RegisterRPCHandler(fileaccess)
  15. if err != nil {
  16. server.Log.Errorf("RegisterRPCHandler Error: %s", err)
  17. return
  18. }
  19. app := iris.New()
  20. app.Use(iris.Gzip)
  21. iris.WithPostMaxMemory(int64(*conMaxSize))
  22. opts := cors.Options{
  23. AllowedOrigins: []string{"*"},
  24. AllowedHeaders: []string{"Content-Type"},
  25. AllowedMethods: []string{"POST"},
  26. ExposedHeaders: []string{"X-Header"},
  27. }
  28. app.Use(cors.New(opts))
  29. app.AllowMethods(iris.MethodOptions)
  30. app.StaticWeb("/upload", *conStaticPath)
  31. registerRouter(app, fileaccess)
  32. app.Build()
  33. // register a http handler
  34. err = server.RegisterHTTPHandler(app)
  35. if err != nil {
  36. server.Log.Errorf("RegisterHTTPHandler Error: %s", err)
  37. return
  38. }
  39. //
  40. go fileaccess.checker()
  41. err = server.Run()
  42. if err != nil {
  43. server.Log.Fatal(err)
  44. }
  45. }