12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package http
- import (
- "net"
- "net/http"
- "time"
- "go-common/library/conf/env"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- xtime "go-common/library/time"
- "github.com/pkg/errors"
- )
- var (
- _defaultAddr string
- )
- // ServerConfig is the alias to bm ServerConfig
- //
- // Deprecated: using bm.ServerConfig instead
- type ServerConfig = bm.ServerConfig
- func init() {
- if env.HTTPPort != "" {
- _defaultAddr = net.JoinHostPort("0.0.0.0", env.HTTPPort)
- } else {
- _defaultAddr = "0.0.0.0:8000"
- }
- }
- // Serve listen and serve bm engine by given config.
- //
- // Deprecated: using Engine.Start instead
- func Serve(engine *bm.Engine, conf *ServerConfig) error {
- if conf == nil {
- conf = &ServerConfig{
- Addr: _defaultAddr,
- Timeout: xtime.Duration(time.Second),
- }
- }
- l, err := net.Listen("tcp", conf.Addr)
- if err != nil {
- errors.Wrapf(err, "listen tcp: %d", conf.Addr)
- return err
- }
- if err := engine.SetConfig(conf); err != nil {
- return err
- }
- log.Info("blademaster: start http listen addr: %s", conf.Addr)
- server := &http.Server{
- ReadTimeout: time.Duration(conf.ReadTimeout),
- WriteTimeout: time.Duration(conf.WriteTimeout),
- }
- go func() {
- if err := engine.RunServer(server, l); err != nil {
- log.Error("blademaster: engine.ListenServer(%+v, %+v) error(%v)", server, l, err)
- }
- }()
- return nil
- }
|