44 "net/http"
55 "sync"
66
7- "github.com/labstack/echo"
87 "github.com/labstack/echo/engine"
8+ "github.com/labstack/echo/logger"
9+ "github.com/labstack/gommon/log"
910)
1011
1112type (
1415 config * engine.Config
1516 handler engine.HandlerFunc
1617 pool * Pool
17- logger echo .Logger
18+ logger logger .Logger
1819 }
1920
2021 Pool struct {
@@ -25,25 +26,24 @@ type (
2526 }
2627)
2728
28- func New (addr string , e * echo. Echo ) * Server {
29+ func New (addr string ) * Server {
2930 c := & engine.Config {Address : addr }
30- return NewConfig (c , e )
31+ return NewConfig (c )
3132}
3233
33- func NewTLS (addr , certfile , keyfile string , e * echo. Echo ) * Server {
34+ func NewTLS (addr , certfile , keyfile string ) * Server {
3435 c := & engine.Config {
3536 Address : addr ,
3637 TLSCertfile : certfile ,
3738 TLSKeyfile : keyfile ,
3839 }
39- return NewConfig (c , e )
40+ return NewConfig (c )
4041}
4142
42- func NewConfig (c * engine.Config , e * echo.Echo ) * Server {
43- return & Server {
44- Server : new (http.Server ),
45- config : c ,
46- handler : e .ServeHTTP ,
43+ func NewConfig (c * engine.Config ) (s * Server ) {
44+ s = & Server {
45+ Server : new (http.Server ),
46+ config : c ,
4747 pool : & Pool {
4848 request : sync.Pool {
4949 New : func () interface {} {
@@ -52,7 +52,7 @@ func NewConfig(c *engine.Config, e *echo.Echo) *Server {
5252 },
5353 response : sync.Pool {
5454 New : func () interface {} {
55- return & Response {logger : e . Logger () }
55+ return & Response {logger : s . logger }
5656 },
5757 },
5858 header : sync.Pool {
@@ -66,8 +66,20 @@ func NewConfig(c *engine.Config, e *echo.Echo) *Server {
6666 },
6767 },
6868 },
69- logger : e .Logger (),
69+ handler : func (req engine.Request , res engine.Response ) {
70+ s .logger .Info ("handler not set" )
71+ },
72+ logger : log .New ("echo" ),
7073 }
74+ return
75+ }
76+
77+ func (s * Server ) SetHandler (h engine.HandlerFunc ) {
78+ s .handler = h
79+ }
80+
81+ func (s * Server ) SetLogger (l logger.Logger ) {
82+ s .logger = l
7183}
7284
7385func (s * Server ) Start () {
0 commit comments