Пример #1
0
func processHeadersMiddleware() gin.HandlerFunc {
	return func(c *gin.Context) {
		optionsHeader := c.Request.Header.Get(CONTEXT_HEADER_OPTIONS)
		if optionsHeader == "" {
			optionsHeader = "{}"
		}

		var options models.Options
		options.FromString(optionsHeader)

		if options.Notify == nil {
			notify := true
			options.Notify = &notify
		}

		if options.Filter == nil {
			options.Filter = models.JSON{}
		}

		if options.Origin == "" {
			options.Origin = messaging.ORIGIN_API
		}

		log.Info("Request options:", optionsHeader)

		c.Set(CONTEXT_HEADER_OPTIONS, options)
		c.Next()
	}
}