func processSendReply(log log.T, messageID string, mdsService service.Service, payloadDoc messageContracts.SendReplyPayload, processorStopPolicy *sdkutil.StopPolicy) { payloadB, err := json.Marshal(payloadDoc) if err != nil { log.Error("could not marshal reply payload!", err) } payload := string(payloadB) log.Info("Sending reply ", jsonutil.Indent(payload)) err = mdsService.SendReply(log, messageID, payload) if err != nil { sdkutil.HandleAwsError(log, err, processorStopPolicy) } }
// SendReply sends message back to the service func (s *svcManager) SendReply(log log.T, update *UpdateDetail) (err error) { var svc messageService.Service var config appconfig.SsmagentConfig payloadB := []byte{} if config, err = getAppConfig(false); err != nil { return fmt.Errorf("could not load config file %v", err.Error()) } value := prepareReplyPayload(config, update) if payloadB, err = json.Marshal(value); err != nil { return fmt.Errorf("could not marshal reply payload %v", err.Error()) } if svc, err = getMsgSvc(config); err != nil { return fmt.Errorf("could not load message service %v", err.Error()) } payload := string(payloadB) return svc.SendReply(log, update.MessageID, payload) }