56 lines
1.1 KiB
Go
56 lines
1.1 KiB
Go
|
package fasthttp
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
|
||
|
"git.loafle.net/overflow/server-go"
|
||
|
"git.loafle.net/overflow/server-go/web"
|
||
|
"github.com/valyala/fasthttp"
|
||
|
)
|
||
|
|
||
|
type Servlet interface {
|
||
|
web.Servlet
|
||
|
|
||
|
Handle(servletCtx server.ServletCtx, ctx *fasthttp.RequestCtx) *web.Error
|
||
|
RequestPath(ctx *fasthttp.RequestCtx) string
|
||
|
setContextPath(contextPath string)
|
||
|
}
|
||
|
|
||
|
type Servlets struct {
|
||
|
Servlet
|
||
|
|
||
|
ContextPath string
|
||
|
}
|
||
|
|
||
|
func (s *Servlets) ServletCtx(serverCtx server.ServerCtx) server.ServletCtx {
|
||
|
return server.NewServletContext(nil, serverCtx)
|
||
|
}
|
||
|
|
||
|
func (s *Servlets) Init(serverCtx server.ServerCtx) error {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (s *Servlets) OnStart(serverCtx server.ServerCtx) error {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (s *Servlets) OnStop(serverCtx server.ServerCtx) {
|
||
|
//
|
||
|
}
|
||
|
|
||
|
func (s *Servlets) Destroy(serverCtx server.ServerCtx) {
|
||
|
//
|
||
|
}
|
||
|
|
||
|
func (s *Servlets) Handle(servletCtx server.ServletCtx, ctx *fasthttp.RequestCtx) *web.Error {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (s *Servlets) setContextPath(contextPath string) {
|
||
|
s.ContextPath = contextPath
|
||
|
}
|
||
|
|
||
|
func (s *Servlets) RequestPath(ctx *fasthttp.RequestCtx) string {
|
||
|
return strings.Replace(string(ctx.Path()), s.ContextPath, "", -1)
|
||
|
}
|