Properly isolate http session handler
This commit is contained in:
@@ -3,8 +3,6 @@ package request
|
||||
import (
|
||||
"context"
|
||||
"io"
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"git.defalsify.org/vise.git/resource"
|
||||
"git.defalsify.org/vise.git/persist"
|
||||
@@ -27,7 +25,6 @@ type RequestSession struct {
|
||||
Continue bool
|
||||
}
|
||||
|
||||
|
||||
// TODO: seems like can remove this.
|
||||
type RequestParser interface {
|
||||
GetSessionId(ctx context.Context, rq any) (string, error)
|
||||
@@ -43,24 +40,3 @@ type RequestHandler interface {
|
||||
Reset(rs RequestSession) (RequestSession, error)
|
||||
Shutdown()
|
||||
}
|
||||
|
||||
type SessionHandler struct {
|
||||
RequestHandler
|
||||
}
|
||||
|
||||
func (f *SessionHandler) WriteError(w http.ResponseWriter, code int, err error) {
|
||||
s := err.Error()
|
||||
w.Header().Set("Content-Length", strconv.Itoa(len(s)))
|
||||
w.WriteHeader(code)
|
||||
_, err = w.Write([]byte(s))
|
||||
if err != nil {
|
||||
logg.Errorf("error writing error!!", "err", err, "olderr", s)
|
||||
w.WriteHeader(500)
|
||||
}
|
||||
}
|
||||
|
||||
func ToSessionHandler(h RequestHandler) *SessionHandler {
|
||||
return &SessionHandler{
|
||||
RequestHandler: h,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user