robot-control-manager/modules/request/request.go

46 lines
836 B
Go

package request
import (
"encoding/json"
"github.com/gofiber/fiber/v2"
"github.com/rs/zerolog/log"
)
func Request(requestMethod string, url string, body any) error {
a := fiber.AcquireAgent()
req := a.Request()
req.Header.SetMethod(requestMethod)
addr := "http://" + url
req.SetRequestURI(addr)
req.Header.SetContentType("application/json")
reqestBodyBytes, err := json.Marshal(body)
if err != nil {
log.Error().Msgf("Failed to marshal request body, err: %s", err)
return err
}
req.SetBody(reqestBodyBytes)
if err := a.Parse(); err != nil {
log.Error().Msgf("Failed to parse request, err: %s", err)
return err
}
code, body, errB := a.Bytes()
if len(errB) != 0 {
log.Error().Msgf("Failed to parse bytes %v", errB)
return errB[0]
}
log.Info().Msgf("code %v body %v", code, body)
return nil
}