All streams
Search
Write a publication
Pull to refresh
1
0
Send message
Из функций лучше возвращать error, а не bool.
Избегайте дублирования кода:
func eventPOST(c *gin.Context) {
        c.Bind(&event)
        log.WithFields(event.ToFields()).Info("Processing event")
	var errJira, errJiraGroup, errSlack, errRemove, errUnknown error
	switch event.AlertName {
	case "subscription_payment_succeeded", "subscription_created":
		errJira = InviteToJira(event.Email)
		errJiraGroup = AddToJiraGroup(event.Email)
		errSlack = InviteToSlack(event.Email)
	case "payment_succeeded":
		errJira = InviteToJira(event.Email)
		errSlack = InviteToSlack(event.Email)
	case "subscription_cancelled":
		errRemove = RemoveFromJiraGroup(event.Email)
	default:
		log.WithFields(log.Fields{
			"event": event.AlertName,
		}).Error("Unknown event")
		errUnknown = fmt.Errorf("Unknown event")
	}
	if errJira != nil || errJiraGroup != nil || errSlack != nil ||
		errRemove != nil || errUnknown != nil {
		c.String(http.StatusInternalServerError, "not Ok\n")
		return
	}
        c.String(http.StatusOK, "Ok\n")
        return
}
Я, конечно, извиняюсь, но какое отношение статья имеет к хабу Go?
Хоть какие-нибудь подробности бы дали, кроме «переписали некоторые компоненты на Go».
Когда терминал можно будет купить в розницу "простым смертным"?
А то пиара много, хотелось бы что-то потрогать руками...

Information

Rating
Does not participate
Works in
Registered
Activity