removed AT specific code

This commit is contained in:
Alfred Kamanda 2024-09-14 15:57:16 +03:00
parent 3cb0b099e4
commit 1e9c9cf6ad
Signed by: Alfred-mk
GPG Key ID: 7EA3D01708908703
3 changed files with 7 additions and 49 deletions

View File

@ -1,8 +1,6 @@
package handlers package handlers
import ( import (
"io"
"git.defalsify.org/vise.git/db" "git.defalsify.org/vise.git/db"
"git.defalsify.org/vise.git/engine" "git.defalsify.org/vise.git/engine"
"git.defalsify.org/vise.git/persist" "git.defalsify.org/vise.git/persist"
@ -90,25 +88,6 @@ func(f *BaseSessionHandler) Output(rqs RequestSession) (RequestSession, error)
return rqs, err return rqs, err
} }
func (f *BaseSessionHandler) AtOutput(rqs RequestSession) (RequestSession, error) {
var err error
var prefix string
if rqs.Continue {
prefix = "CON "
} else {
prefix = "END "
}
_, err = io.WriteString(rqs.Writer, prefix)
if err != nil {
return rqs, err
}
_, err = rqs.Engine.WriteResult(rqs.Ctx, rqs.Writer)
return rqs, err
}
func(f *BaseSessionHandler) Reset(rqs RequestSession) (RequestSession, error) { func(f *BaseSessionHandler) Reset(rqs RequestSession) (RequestSession, error) {
defer f.provider.Put(rqs.Config.SessionId, rqs.Storage) defer f.provider.Put(rqs.Config.SessionId, rqs.Storage)
return rqs, rqs.Engine.Finish() return rqs, rqs.Engine.Finish()

View File

@ -51,7 +51,6 @@ type RequestHandler interface {
GetEngine(cfg engine.Config, rs resource.Resource, pe *persist.Persister) engine.Engine GetEngine(cfg engine.Config, rs resource.Resource, pe *persist.Persister) engine.Engine
Process(rs RequestSession) (RequestSession, error) Process(rs RequestSession) (RequestSession, error)
Output(rs RequestSession) (RequestSession, error) Output(rs RequestSession) (RequestSession, error)
AtOutput(rs RequestSession) (RequestSession, error)
Reset(rs RequestSession) (RequestSession, error) Reset(rs RequestSession) (RequestSession, error)
Shutdown() Shutdown()
} }

View File

@ -43,30 +43,14 @@ func(rp *DefaultRequestParser) GetInput(rq any) ([]byte, error) {
return v, nil return v, nil
} }
type SessionHandlerOption func(*SessionHandler)
func WithAtOutput() SessionHandlerOption {
return func(sh *SessionHandler) {
sh.useAtOutput = true
}
}
type SessionHandler struct { type SessionHandler struct {
handlers.RequestHandler handlers.RequestHandler
useAtOutput bool
} }
func ToSessionHandler(h handlers.RequestHandler, opts ...SessionHandlerOption) *SessionHandler { func ToSessionHandler(h handlers.RequestHandler) *SessionHandler {
sh := &SessionHandler{ return &SessionHandler{
RequestHandler: h, RequestHandler: h,
useAtOutput: false,
} }
for _, opt := range opts {
opt(sh)
}
return sh
} }
func(f *SessionHandler) writeError(w http.ResponseWriter, code int, err error) { func(f *SessionHandler) writeError(w http.ResponseWriter, code int, err error) {
@ -84,6 +68,7 @@ func(f *SessionHandler) writeError(w http.ResponseWriter, code int, err error) {
func(f *SessionHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { func(f *SessionHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
var code int var code int
var err error var err error
var perr error
rqs := handlers.RequestSession{ rqs := handlers.RequestSession{
Ctx: req.Context(), Ctx: req.Context(),
@ -124,19 +109,14 @@ func(f *SessionHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
w.WriteHeader(200) w.WriteHeader(200)
w.Header().Set("Content-Type", "text/plain") w.Header().Set("Content-Type", "text/plain")
if f.useAtOutput { rqs, err = f.Output(rqs)
rqs, err = f.AtOutput(rqs) rqs, perr = f.Reset(rqs)
} else {
rqs, err = f.Output(rqs)
}
if err != nil { if err != nil {
f.writeError(w, 500, err) f.writeError(w, 500, err)
return return
} }
if perr != nil {
rqs, err = f.Reset(rqs) f.writeError(w, 500, perr)
if err != nil {
f.writeError(w, 500, err)
return return
} }
} }