mirror of
https://github.com/fosrl/newt.git
synced 2026-09-18 20:09:07 +02:00
Handel printable error messages from server
This commit is contained in:
@@ -34,6 +34,13 @@ const (
|
||||
fmtErrParsingTargetData = "Error parsing target data: %v"
|
||||
)
|
||||
|
||||
// NewtErrorData represents a warning/error message sent down from the server,
|
||||
// e.g. when it was unable to complete part of the site's registration.
|
||||
type NewtErrorData struct {
|
||||
Code string `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
func (n *Newt) registerHandlers(ctx context.Context) {
|
||||
//TODO: MOVE MORE OF THESE HANDLERS TO STANDALONE FUNCTIONS IN THE DATA.GO AND CONNECT.GO FILES
|
||||
|
||||
@@ -41,6 +48,23 @@ func (n *Newt) registerHandlers(ctx context.Context) {
|
||||
n.handleConnect(ctx, msg)
|
||||
})
|
||||
|
||||
n.client.RegisterHandler("newt/error", func(msg websocket.WSMessage) {
|
||||
var errorData NewtErrorData
|
||||
|
||||
jsonData, err := json.Marshal(msg.Data)
|
||||
if err != nil {
|
||||
logger.Error(fmtErrMarshaling, err)
|
||||
return
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(jsonData, &errorData); err != nil {
|
||||
logger.Error("Error unmarshaling newt error data: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
logger.Warn("Site warning (code: %s): %s", errorData.Code, errorData.Message)
|
||||
})
|
||||
|
||||
n.client.RegisterHandler("newt/wg/reconnect", func(msg websocket.WSMessage) {
|
||||
logger.Info("Received reconnect message")
|
||||
if n.wgData.PublicKey != "" {
|
||||
|
||||
Reference in New Issue
Block a user