@@ -19,28 +19,30 @@ import (
1919 "golang.org/x/time/rate"
2020)
2121
22- var (
23- Version = "dev"
24- Commit = "none"
25- Repo = "unknown"
26- Compiler = "unknown"
27- )
28-
2922type API struct {
30- config * viper.Viper
31- logger * logger.Logger
32- echo * echo.Echo
23+ config * viper.Viper
24+ logger * logger.Logger
25+ echo * echo.Echo
26+ buildInfo BuildInfo
27+ }
28+
29+ type BuildInfo struct {
30+ Version string
31+ Commit string
32+ Repo string
33+ Compiler string
3334}
3435
3536type ErrorResponse struct {
3637 Error string `json:"error"`
3738}
3839
39- func NewAPI (config * viper.Viper , logger * logger.Logger ) * API {
40+ func NewAPI (config * viper.Viper , logger * logger.Logger , buildInfo BuildInfo ) * API {
4041 return & API {
41- config : config ,
42- logger : logger ,
43- echo : echo .New (),
42+ config : config ,
43+ logger : logger ,
44+ echo : echo .New (),
45+ buildInfo : buildInfo ,
4446 }
4547}
4648
@@ -137,10 +139,10 @@ func (api *API) Listen() {
137139 }
138140
139141 fmt .Printf ("Brasil CEP Webservice - Brazilian Zip Code API" )
140- fmt .Printf ("version: %s\n " , Version )
141- fmt .Printf ("commit: %s\n " , Commit )
142- fmt .Printf ("repo: %s\n " , Repo )
143- fmt .Printf ("compiler: %s\n " , Compiler )
142+ fmt .Printf ("version: %s\n " , api . buildInfo . Version )
143+ fmt .Printf ("commit: %s\n " , api . buildInfo . Commit )
144+ fmt .Printf ("repo: %s\n " , api . buildInfo . Repo )
145+ fmt .Printf ("compiler: %s\n " , api . buildInfo . Compiler )
144146 fmt .Printf ("\n " )
145147
146148 port := api .config .GetInt ("api.port" )
@@ -204,9 +206,9 @@ func (api *API) health(c echo.Context) error {
204206 Repo string `json:"repo"`
205207 }{
206208 Status : "ok" ,
207- Version : Version ,
208- Commit : Commit ,
209- Repo : Repo ,
209+ Version : api . buildInfo . Version ,
210+ Commit : api . buildInfo . Commit ,
211+ Repo : api . buildInfo . Repo ,
210212 }
211213
212214 return c .JSON (http .StatusOK , resp )
0 commit comments