responseHttp.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package controller
  2. import (
  3. "github.com/gravitl/netmaker/models"
  4. "encoding/json"
  5. "net/http"
  6. "fmt"
  7. )
  8. func formatError(err error, errType string) models.ErrorResponse {
  9. var status = http.StatusInternalServerError
  10. switch errType {
  11. case "internal":
  12. status = http.StatusInternalServerError
  13. case "badrequest":
  14. status = http.StatusBadRequest
  15. case "notfound":
  16. status = http.StatusNotFound
  17. case "unauthorized":
  18. status = http.StatusUnauthorized
  19. case "forbidden":
  20. status = http.StatusForbidden
  21. default:
  22. status = http.StatusInternalServerError
  23. }
  24. var response = models.ErrorResponse{
  25. Message: err.Error(),
  26. Code: status,
  27. }
  28. return response
  29. }
  30. func returnSuccessResponse(response http.ResponseWriter, request *http.Request, errorMesage models.ErrorResponse) {
  31. }
  32. func returnErrorResponse(response http.ResponseWriter, request *http.Request, errorMessage models.ErrorResponse) {
  33. httpResponse := &models.ErrorResponse{Code: errorMessage.Code, Message: errorMessage.Message}
  34. jsonResponse, err := json.Marshal(httpResponse)
  35. if err != nil {
  36. panic(err)
  37. }
  38. fmt.Println(errorMessage)
  39. response.Header().Set("Content-Type", "application/json")
  40. response.WriteHeader(errorMessage.Code)
  41. response.Write(jsonResponse)
  42. }