@cryptotaxi247 / kubo / commits / 908e4498a

refactor(gatewayserver)

Brian Tiger Chow committed Jan 28, 2015 at 03:07 UTC 908e4498a889ca6f6b35d0c2b772589c8653c09c
1 file changed +32 -21
cmd/ipfs-gateway-fs/main.go
+32 -21
@@ -66,38 +66,49 @@ func run() error {
66 defer node.Close()
67
68 if *performGC {
69 - go func() {
70 - for _ = range time.Tick(*garbageCollectInterval) {
71 - if err := corerepo.GarbageCollect(node, ctx); err != nil {
72 - log.Println("failed to run garbage collection", err)
73 - }
74 - }
75 - }()
69 + if err := runGarbageCollectorWorker(ctx, node); err != nil {
70 + return err
71 + }
72 }
73
74 if *assetsPath != "" {
79 - fi, err := os.Stat(*assetsPath)
80 - if err != nil {
75 + if err := runFileServerWorker(ctx, node); err != nil {
76 return err
77 }
83 - if !fi.IsDir() {
84 - return errors.New("asset path must be a directory")
85 - }
86 - go func() {
87 - for _ = range time.Tick(*refreshAssetsInterval) {
88 - _, err := coreunix.AddR(node, *assetsPath)
89 - if err != nil {
90 - log.Println(err)
91 - }
92 - }
93 - }()
78 }
79
80 opts := []corehttp.ServeOption{
81 corehttp.GatewayOption(*writable),
82 }
99 - if err := corehttp.ListenAndServe(node, *host, opts...); err != nil {
83 + return corehttp.ListenAndServe(node, *host, opts...)
84 +}
85 +
86 +func runGarbageCollectorWorker(ctx context.Context, node *core.IpfsNode) error {
87 + go func() {
88 + for _ = range time.Tick(*garbageCollectInterval) {
89 + if err := corerepo.GarbageCollect(node, ctx); err != nil {
90 + log.Println("failed to run garbage collection", err)
91 + }
92 + }
93 + }()
94 + return nil
95 +}
96 +
97 +func runFileServerWorker(ctx context.Context, node *core.IpfsNode) error {
98 + fi, err := os.Stat(*assetsPath)
99 + if err != nil {
100 return err
101 }
102 + if !fi.IsDir() {
103 + return errors.New("asset path must be a directory")
104 + }
105 + go func() {
106 + for _ = range time.Tick(*refreshAssetsInterval) {
107 + _, err := coreunix.AddR(node, *assetsPath)
108 + if err != nil {
109 + log.Println(err)
110 + }
111 + }
112 + }()
113 return nil
114 }