MCPcopy Create free account
hub / github.com/dim-an/cod / handleAddHelpPage

Method handleAddHelpPage

server/server.go:503–537  ·  view source on GitHub ↗
(req *AddHelpPageRequest, _ *util.Warner)

Source from the content-addressed store, hash-verified

501}
502
503func (s *serverImpl) handleAddHelpPage(req *AddHelpPageRequest, _ *util.Warner) (rsp AddHelpPageResponse, err error) {
504 ctx, _ := context.WithTimeout(context.Background(), HelpProcessExecutionTimeout)
505 helpPage, err := s.runHelpCommand(req.Command, ctx)
506 if err != nil {
507 if ctx.Err() != nil && errors.Is(ctx.Err(), context.DeadlineExceeded) {
508 err = fmt.Errorf(
509 "timeout of %v exceeded `%v`",
510 HelpProcessExecutionTimeout,
511 shells.Quote(req.Command.Args),
512 )
513 } else {
514 err = fmt.Errorf(
515 "error executing `%v`: %w",
516 shells.Quote(req.Command.Args),
517 err,
518 )
519 }
520 return
521 }
522
523 s.mutex.Lock()
524 defer s.mutex.Unlock()
525
526 var status datastore.AddHelpPageStatus
527 status, err = s.storage.AddHelpPage(helpPage, req.Policy)
528 if err != nil {
529 return
530 }
531
532 s.notifyExecutableUpdate(helpPage.ExecutablePath)
533
534 rsp.HelpPage = *helpPage
535 rsp.Status = status
536 return
537}
538
539func (s *serverImpl) handlePollUpdates(req *PollUpdatesRequest) (rsp PollUpdatesResponse, err error, warns []util.Warning) {
540 s.mutex.Lock()

Callers 1

handleRequestMethod · 0.95

Calls 5

runHelpCommandMethod · 0.95
QuoteFunction · 0.92
ErrMethod · 0.80
AddHelpPageMethod · 0.65

Tested by

no test coverage detected