good morning!!!!

Skip to content
Snippets Groups Projects
Commit 5ed26d4c authored by Garet Halliday's avatar Garet Halliday
Browse files

relay error to client

parent 3d2608b7
No related branches found
No related tags found
No related merge requests found
...@@ -68,6 +68,14 @@ func (T *Context) ServerRead() (zap.In, berr.Error) { ...@@ -68,6 +68,14 @@ func (T *Context) ServerRead() (zap.In, berr.Error) {
return in, nil return in, nil
} }
func (T *Context) ClientWrite() zap.Out {
return T.client.Write()
}
func (T *Context) ServerWrite() zap.Out {
return T.server.Write()
}
func (T *Context) ClientSend(out zap.Out) berr.Error { func (T *Context) ClientSend(out zap.Out) berr.Error {
err := T.client.Send(out) err := T.client.Send(out)
if err != nil { if err != nil {
......
...@@ -263,6 +263,17 @@ func Bounce(client, server zap.ReadWriter) { ...@@ -263,6 +263,17 @@ func Bounce(client, server zap.ReadWriter) {
defer ctx.Done() defer ctx.Done()
err := transaction(&ctx) err := transaction(&ctx)
if err != nil { if err != nil {
log.Println("error", err) switch e := err.(type) {
case berr.Client:
// send to client
out := client.Write()
packets.WriteErrorResponse(out, e.Error)
_ = client.Send(out)
case berr.Server:
log.Println("server error", e.Error)
default:
// unhandled error
panic(err)
}
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment