MCPcopy Create free account
hub / github.com/driangle/taskmd / NewServer

Function NewServer

apps/cli/internal/web/server.go:51–72  ·  view source on GitHub ↗

NewServer creates a new web server.

(cfg Config)

Source from the content-addressed store, hash-verified

49
50// NewServer creates a new web server.
51func NewServer(cfg Config) *Server {
52 dp := NewDataProvider(cfg.ScanDir, cfg.Verbose)
53 broker := NewSSEBroker()
54
55 w := watcher.New(cfg.ScanDir, func() {
56 dp.Invalidate()
57 broker.Broadcast()
58 }, 200*time.Millisecond)
59
60 var resolver *ProjectResolver
61 if cfg.ResolveProject != nil {
62 resolver = NewProjectResolver(cfg.ResolveProject, cfg.Verbose)
63 }
64
65 return &Server{
66 config: cfg,
67 dp: dp,
68 broker: broker,
69 watcher: w,
70 resolver: resolver,
71 }
72}
73
74// Start starts the HTTP server. It blocks until ctx is cancelled.
75func (s *Server) Start(ctx context.Context) error {

Calls 5

InvalidateMethod · 0.95
BroadcastMethod · 0.95
NewDataProviderFunction · 0.85
NewSSEBrokerFunction · 0.85
NewProjectResolverFunction · 0.85