decode_request.go raw

   1  package controllers
   2  
   3  import (
   4  	"encoding/json"
   5  
   6  	"github.com/getAlby/hub/constants"
   7  	"github.com/getAlby/hub/logger"
   8  	"github.com/getAlby/hub/nip47/models"
   9  	"github.com/sirupsen/logrus"
  10  )
  11  
  12  func decodeRequest(request *models.Request, methodParams interface{}) *models.Response {
  13  	err := json.Unmarshal(request.Params, methodParams)
  14  	if err != nil {
  15  		logger.Logger.WithFields(logrus.Fields{
  16  			"request": request,
  17  		}).WithError(err).Error("Failed to decode NIP-47 request")
  18  		return &models.Response{
  19  			ResultType: request.Method,
  20  			Error: &models.Error{
  21  				Code:    constants.ERROR_BAD_REQUEST,
  22  				Message: err.Error(),
  23  			}}
  24  	}
  25  	return nil
  26  }
  27