moira

Форк
0
/
maintenance.go 
31 строка · 688.0 Байт
1
package reply
2

3
import (
4
	"encoding/json"
5

6
	"github.com/garyburd/redigo/redis"
7
	"github.com/pkg/errors"
8

9
	"go.avito.ru/DO/moira"
10
	"go.avito.ru/DO/moira/database"
11
)
12

13
// Maintenance converts redis DB reply to moira.Maintenance
14
func Maintenance(reply interface{}, err error) (moira.Maintenance, error) {
15
	maintenance := moira.NewMaintenance()
16
	bytes, err := redis.Bytes(reply, err)
17

18
	if err != nil {
19
		if err == redis.ErrNil {
20
			return maintenance, database.ErrNil
21
		}
22
		return nil, errors.Wrap(err, "failed to convert response to bytes")
23
	}
24

25
	err = json.Unmarshal(bytes, &maintenance)
26
	if err != nil {
27
		err = errors.Wrap(err, "failed to unmarshal response")
28
	}
29

30
	return maintenance, nil
31
}
32

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.