Golang + Gin にて独自ヘッダーを追加する

golang にて setHeader() のような機能を探していて、
gin の isuue にヘッダーの追加方法があったけど、
うまくいかなかったので別の方法で追加する。

↓うまくいかなかった isuues

ヘッダーを追加する

unixtime で現在時刻を返す。

package main

import (
	"fmt"
	"time"

	"github.com/gin-gonic/gin"
)

type Routing struct {
	Gin *gin.Engine
}

func main() {

	r := &Routing{
		Gin: gin.Default(),
	}
	
	r.Gin.Use(r.setHeader())
	
	r.Gin.GET("/", func(c *gin.Context) {
		c.String(200, "hello world")
	})

	r.Gin.Run(":8080")
}

func (r *Routing) setHeader() gin.HandlerFunc {
	return func(c *gin.Context) {
		// c.Request.Header.Add("Unix-Timestamp", fmt.Sprintf("%d", time.Now().Unix()))
		header := c.Writer.Header()
		header["Unix-Timestamp"] = []string{ fmt.Sprintf("%d", time.Now().Unix()) }
	}
}