Files
2026-08-01 20:32:49 +08:00

57 lines
2.9 KiB
Go

// Copyright 2023 sigma
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package errcode
import (
"net/http"
"github.com/gin-gonic/gin"
)
// NewHTTPError writes the given ErrCode as a JSON response.
func NewHTTPError(c *gin.Context, errCode ErrCode, message ...string) {
if len(message) > 0 {
errCode.Description = message[0]
}
c.JSON(errCode.HTTPStatusCode, errCode)
}
var (
// HTTPErrCodeOK is an OK error.
HTTPErrCodeOK = ErrCode{HTTPStatusCode: http.StatusOK, Code: "OK", Title: "Ok"}
// HTTPErrCodeCreated is a created error.
HTTPErrCodeCreated = ErrCode{HTTPStatusCode: http.StatusCreated, Code: "CREATED", Title: "Created"}
// HTTPErrCodeBadRequest is a bad request error.
HTTPErrCodeBadRequest = ErrCode{HTTPStatusCode: http.StatusBadRequest, Code: "BAD_REQUEST", Title: "Bad request"}
// HTTPErrCodeUnauthorized is an unauthorized error.
HTTPErrCodeUnauthorized = ErrCode{HTTPStatusCode: http.StatusUnauthorized, Code: "UNAUTHORIZED", Title: "Unauthorized"}
// HTTPErrCodeForbidden is a forbidden error.
HTTPErrCodeForbidden = ErrCode{HTTPStatusCode: http.StatusForbidden, Code: "FORBIDDEN", Title: "Forbidden"}
// HTTPErrCodeNotFound is a not found error.
HTTPErrCodeNotFound = ErrCode{HTTPStatusCode: http.StatusNotFound, Code: "NOT_FOUND", Title: "Not found"}
// HTTPErrCodeMethodNotAllowed is a method not allowed error.
HTTPErrCodeMethodNotAllowed = ErrCode{HTTPStatusCode: http.StatusMethodNotAllowed, Code: "METHOD_NOT_ALLOWED", Title: "Method not allowed"}
// HTTPErrCodeNotAcceptable is a not acceptable error.
HTTPErrCodeNotAcceptable = ErrCode{HTTPStatusCode: http.StatusNotAcceptable, Code: "NOT_ACCEPTABLE", Title: "Not acceptable"}
// HTTPErrCodeConflict is a conflict error.
HTTPErrCodeConflict = ErrCode{HTTPStatusCode: http.StatusConflict, Code: "CONFLICT", Title: "Conflict"}
// HTTPErrCodePaginationInvalid is a pagination invalid error.
HTTPErrCodePaginationInvalid = ErrCode{HTTPStatusCode: http.StatusBadRequest, Code: "PAGINATION_INVALID", Title: "Pagination invalid"}
// HTTPErrCodeInternalError is an internal error.
HTTPErrCodeInternalError = ErrCode{HTTPStatusCode: http.StatusInternalServerError, Code: "INTERNAL_ERROR", Title: "Internal server error"}
// HTTPErrCodeVerificationCodeInvalid is a verification code error.
HTTPErrCodeVerificationCodeInvalid = ErrCode{HTTPStatusCode: http.StatusBadRequest, Code: "VERIFICATION_CODE_INVALID", Title: "Verification code invalid"}
)