mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-21 17:21:09 +01:00
- Removed the print flag from handleError function, simplifying error logging based on the development environment. - Introduced a new performRequest function for standardized HTTP requests with JSON bodies, enhancing code reusability. - Updated SendIMNotification and related functions to utilize the new RequestParam type for better clarity and consistency. - Normalized HTTP request paths in the createHttpRequest method to ensure correct URL formatting. - Added detailed error logging for JSON unmarshaling failures in syncFiles method. - Introduced a NewHttpClient function to create HTTP clients with customizable timeouts.
40 lines
935 B
Go
40 lines
935 B
Go
package utils
|
|
|
|
import (
|
|
"github.com/crawlab-team/crawlab/core/constants"
|
|
"github.com/crawlab-team/crawlab/core/entity"
|
|
"github.com/crawlab-team/crawlab/trace"
|
|
"github.com/gin-gonic/gin"
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
func handleError(statusCode int, c *gin.Context, err error, print bool) {
|
|
if print {
|
|
trace.PrintError(err)
|
|
}
|
|
c.AbortWithStatusJSON(statusCode, entity.Response{
|
|
Status: constants.HttpResponseStatusOk,
|
|
Message: constants.HttpResponseMessageError,
|
|
Error: err.Error(),
|
|
})
|
|
}
|
|
|
|
func HandleError(statusCode int, c *gin.Context, err error) {
|
|
handleError(statusCode, c, err, true)
|
|
}
|
|
|
|
func HandleErrorUnauthorized(c *gin.Context, err error) {
|
|
HandleError(http.StatusUnauthorized, c, err)
|
|
}
|
|
|
|
func HandleErrorInternalServerError(c *gin.Context, err error) {
|
|
HandleError(http.StatusInternalServerError, c, err)
|
|
}
|
|
|
|
func NewHttpClient(timeout time.Duration) *http.Client {
|
|
return &http.Client{
|
|
Timeout: timeout,
|
|
}
|
|
}
|