in topic.go [71:88]
func (p *MNSTopic) Subscribe(subscriptionName string, message MessageSubsribeRequest) (err error) {
subscriptionName = strings.TrimSpace(subscriptionName)
if err = checkTopicName(subscriptionName); err != nil {
return
}
p.qpsMonitor.checkQPS()
var code int
code, err = send(p.client, p.decoder, PUT, nil, message, fmt.Sprintf("topics/%s/subscriptions/%s", p.name, subscriptionName), nil)
if code == http.StatusNoContent {
err = ERR_MNS_SUBSCRIPTION_ALREADY_EXIST_AND_HAVE_SAME_ATTR.New(errors.Params{"name": subscriptionName})
return
}
return
}