Allow creating PubSub without channels.

This commit is contained in:
Vladimir Mihailenco 2016-12-22 13:26:00 +02:00
parent 754e4ed906
commit c939d2283e
1 changed files with 14 additions and 2 deletions

View File

@ -359,11 +359,23 @@ func (c *Client) pubSub() *PubSub {
// Subscribe subscribes the client to the specified channels.
func (c *Client) Subscribe(channels ...string) (*PubSub, error) {
pubsub := c.pubSub()
return pubsub, pubsub.Subscribe(channels...)
if len(channels) > 0 {
if err := pubsub.Subscribe(channels...); err != nil {
pubsub.Close()
return nil, err
}
}
return pubsub, nil
}
// PSubscribe subscribes the client to the given patterns.
func (c *Client) PSubscribe(channels ...string) (*PubSub, error) {
pubsub := c.pubSub()
return pubsub, pubsub.PSubscribe(channels...)
if len(channels) > 0 {
if err := pubsub.PSubscribe(channels...); err != nil {
pubsub.Close()
return nil, err
}
}
return pubsub, nil
}