mirror of
https://github.com/fosrl/newt.git
synced 2026-10-23 21:19:09 +02:00
Handel printable error messages from server
This commit is contained in:
@@ -34,6 +34,13 @@ const (
|
|||||||
fmtErrParsingTargetData = "Error parsing target data: %v"
|
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) {
|
func (n *Newt) registerHandlers(ctx context.Context) {
|
||||||
//TODO: MOVE MORE OF THESE HANDLERS TO STANDALONE FUNCTIONS IN THE DATA.GO AND CONNECT.GO FILES
|
//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.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) {
|
n.client.RegisterHandler("newt/wg/reconnect", func(msg websocket.WSMessage) {
|
||||||
logger.Info("Received reconnect message")
|
logger.Info("Received reconnect message")
|
||||||
if n.wgData.PublicKey != "" {
|
if n.wgData.PublicKey != "" {
|
||||||
|
|||||||
Reference in New Issue
Block a user