You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
637 B
35 lines
637 B
package xserver |
|
|
|
import ( |
|
"context" |
|
"github.com/gin-gonic/gin" |
|
"net/http" |
|
"time" |
|
) |
|
|
|
type httpServer struct { |
|
server *http.Server |
|
} |
|
|
|
func (h *httpServer) Start() error { |
|
return h.server.ListenAndServe() |
|
} |
|
|
|
func (h *httpServer) Shutdown(ctx context.Context) error { |
|
return h.server.Shutdown(ctx) |
|
} |
|
|
|
func NewHttp(httpHost string, app *gin.Engine) *httpServer { |
|
server := &http.Server{ |
|
Addr: httpHost, |
|
Handler: app, |
|
ReadTimeout: 60 * time.Second, |
|
WriteTimeout: 60 * time.Second, |
|
MaxHeaderBytes: 20 << 20, |
|
} |
|
return &httpServer{server: server} |
|
} |
|
|
|
func (c *httpServer) Name() string { |
|
return "http" |
|
}
|
|
|