当前位置: 首页>>代码示例>>Golang>>正文


Golang Message.Payload方法代码示例

本文整理汇总了Golang中github.com/sarifsystems/sarif/sarif.Message.Payload方法的典型用法代码示例。如果您正苦于以下问题:Golang Message.Payload方法的具体用法?Golang Message.Payload怎么用?Golang Message.Payload使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/sarifsystems/sarif/sarif.Message的用法示例。


在下文中一共展示了Message.Payload方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: AnnotateReply

func (s *Service) AnnotateReply(msg sarif.Message) sarif.Message {
	mu := sync.Mutex{}
	fin := make(chan bool)
	go func() {
		for name, a := range s.Cfg.Annotators {
			if a.Enabled && (time.Now().Sub(a.LastSeen) < s.ParserKeepAlive) {
				reply, ok := <-s.Request(sarif.Message{
					Action:      "natural/annotate/" + msg.Action,
					Destination: name,
					Text:        msg.Text,
					Payload:     msg.Payload,
				})
				if !ok || reply.IsAction("err") {
					continue
				}
				mu.Lock()
				if reply.Text != "" {
					msg.Text = reply.Text
				}
				if len(reply.Payload.Raw) > 0 {
					msg.Payload = reply.Payload
				}
				mu.Unlock()
			}
		}
		fin <- true
	}()

	select {
	case <-fin:
	case <-time.After(time.Second):
	}
	mu.Lock()
	defer mu.Unlock()

	natural.FormatMessage(&msg)
	msg.Text = s.TransformReply(msg.Text)
	return msg
}
开发者ID:sarifsystems,项目名称:sarif,代码行数:39,代码来源:service.go


注:本文中的github.com/sarifsystems/sarif/sarif.Message.Payload方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。