func NewServerError()

in sdk/errors/server_error.go [53:91]


func NewServerError(httpStatus int, responseContent, comment string) Error {
	result := &ServerError{
		httpStatus: httpStatus,
		message:    responseContent,
		comment:    comment,
	}

	var data interface{}
	err := json.Unmarshal([]byte(responseContent), &data)
	if err == nil {
		requestId, _ := jmespath.Search("RequestId", data)
		hostId, _ := jmespath.Search("HostId", data)
		errorCode, _ := jmespath.Search("Code", data)
		recommend, _ := jmespath.Search("Recommend", data)
		message, _ := jmespath.Search("Message", data)
		accessDeniedDetail, _ := jmespath.Search("AccessDeniedDetail", data)

		if requestId != nil {
			result.requestId = requestId.(string)
		}
		if hostId != nil {
			result.hostId = hostId.(string)
		}
		if errorCode != nil {
			result.errorCode = errorCode.(string)
		}
		if recommend != nil {
			result.recommend = recommend.(string)
		}
		if message != nil {
			result.message = message.(string)
		}
		if accessDeniedDetail != nil {
			result.accessDeniedDetail = accessDeniedDetail.(map[string]interface{})
		}
	}

	return result
}