Hi, I have solve the problem and it works now. Thanks.
On Monday, September 30, 2019 at 11:06:20 AM UTC+3, Afriyie Abraham Kwabena wrote: > > Hi, > > I have applied similar scenario to the function below but am not getting > the Ip address and the port number. Below is the function > > var addr string > > func init(){ > > var conf Config > if _, err := toml.Decode("config.toml", &conf); err != nil { > // handle error > } > addr = net.JoinHostPort(conf.Addr, conf.Port) > fmt.Println(addr) // This printing empty > > } > > > func main() { > > server := NewServer() > > go func() { > > if err := > server.ListenAndServeTLS("/home/cumucore/diam/server.crt", > "/home/cumucore/diam/server.key"); err != nil && err != > http.ErrServerClosed { > logger.Fatalf("Could not listen on %s: %v\n", addr, err) > > if err := server.ListenAndServe(); err != nil { > logger.Fatalf("Could not listen on %s: %v\n", addr, err) > } > > } > }() > } > > > // Create a new server > func NewServer() *http.Server { > > return &http.Server{ > Addr: addr, > Handler: diam.NewRouter(), > ErrorLog: logger, > ReadTimeout: 5 * time.Second, > WriteTimeout: 10 * time.Second, > IdleTimeout: 15 * time.Second, > } > } > > Ther config.toml file contain the key values as > Addr = "192.168.9.186" > Port = "8000" > > What might be the problem in this case > > > On Sunday, September 29, 2019 at 5:18:55 PM UTC+3, Andrew Pillar wrote: >> >> Use net.JoinHostPort to concatenate the values you have in the struct >> and pass the to http.Server struct. >> >> if _, err := toml.Decode("config.toml", &conf); err != nil { >> // handle error >> } >> >> addr, err := net.JoinHostPort(conf.Address, conf.PORT) >> >> if err != nil { >> // handle error >> } >> >> src := &http.Server{ >> Addr: addr, >> } >> >> Be sure to set explicit struct tags on your destination struct that >> will be used for unmarshalling the toml. This way the decoder will know >> which struct fields to populate. >> >> type Config struct { >> PORT string `toml:"port"` >> Address string `toml:"address"` >> } >> >> This will only be necessary though if you want the fields to map >> differently depending on their name. >> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/28360a86-da47-4226-90f2-59515a317210%40googlegroups.com.