本文整理汇总了Golang中github.com/urandom/readeef/content.Feed.Subscription方法的典型用法代码示例。如果您正苦于以下问题:Golang Feed.Subscription方法的具体用法?Golang Feed.Subscription怎么用?Golang Feed.Subscription使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/urandom/readeef/content.Feed
的用法示例。
在下文中一共展示了Feed.Subscription方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Unsubscribe
func (h Hubbub) Unsubscribe(f content.Feed) error {
if u, err := url.Parse(h.config.Hubbub.CallbackURL); err != nil {
return ErrNotConfigured
} else {
if !u.IsAbs() {
return ErrNotConfigured
}
}
fdata := f.Data()
if u, err := url.Parse(fdata.HubLink); err != nil {
return ErrNoFeedHubLink
} else {
if !u.IsAbs() {
return ErrNoFeedHubLink
}
}
s := f.Subscription()
if s.HasErr() {
return s.Err()
}
if s.Data().FeedId != fdata.Id {
h.logger.Infoln("Not subscribed to " + fdata.HubLink)
return ErrNotSubscribed
}
go func() {
h.subscription(s, f, false)
}()
return nil
}
示例2: Subscribe
func (h *Hubbub) Subscribe(f content.Feed) error {
if u, err := url.Parse(h.config.Hubbub.CallbackURL); err != nil {
return ErrNotConfigured
} else {
if !u.IsAbs() {
return ErrNotConfigured
}
}
fdata := f.Data()
if u, err := url.Parse(fdata.HubLink); err != nil {
return ErrNoFeedHubLink
} else {
if !u.IsAbs() {
return ErrNoFeedHubLink
}
}
s := f.Subscription()
if s.HasErr() {
return s.Err()
}
data := s.Data()
if data.FeedId == fdata.Id {
h.logger.Infoln("Already subscribed to " + fdata.HubLink)
return ErrSubscribed
}
data.Link = fdata.HubLink
data.FeedId = fdata.Id
data.SubscriptionFailure = true
s.Data(data)
s.Update()
if s.HasErr() {
return s.Err()
}
go func() {
h.subscribe(s, f, true)
}()
return nil
}