(req *AddHelpPageRequest, _ *util.Warner)
| 501 | } |
| 502 | |
| 503 | func (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 | |
| 539 | func (s *serverImpl) handlePollUpdates(req *PollUpdatesRequest) (rsp PollUpdatesResponse, err error, warns []util.Warning) { |
| 540 | s.mutex.Lock() |
no test coverage detected