func errorHandler()

in datahub/error.go [68:102]


func errorHandler(statusCode int, requestId string, errorCode string, message string) error {

	switch errorCode {
	case InvalidParameter, InvalidSubscription, InvalidCursor:
		return NewInvalidParameterError(statusCode, requestId, errorCode, message)
	case ResourceNotFound, NoSuchTopic, NoSuchProject, NoSuchSubscription, NoSuchShard, NoSuchConnector,
		NoSuchMeterInfo, NoSuchConsumer:
		return NewResourceNotFoundError(statusCode, requestId, errorCode, message)
	case SeekOutOfRange:
		return NewSeekOutOfRangeError(statusCode, requestId, errorCode, message)
	case ResourceAlreadyExist, ProjectAlreadyExist, TopicAlreadyExist, ConnectorAlreadyExist:
		return NewResourceExistError(statusCode, requestId, errorCode, message)
	case UnAuthorized:
		return NewAuthorizationFailedError(statusCode, requestId, errorCode, message)
	case NoPermission:
		return NewNoPermissionError(statusCode, requestId, errorCode, message)
	case OperatorDenied:
		return NewInvalidOperationError(statusCode, requestId, errorCode, message)
	case LimitExceed:
		return NewLimitExceededError(statusCode, requestId, errorCode, message)
	case SubscriptionOffline:
		return NewSubscriptionOfflineError(statusCode, requestId, errorCode, message)
	case OffsetReseted:
		return NewSubscriptionOffsetResetError(statusCode, requestId, errorCode, message)
	case OffsetSessionClosed, OffsetSessionChanged:
		return NewSubscriptionSessionInvalidError(statusCode, requestId, errorCode, message)
	case MalformedRecord:
		return NewMalformedRecordError(statusCode, requestId, errorCode, message)
	case ConsumerGroupInProcess:
		return NewServiceInProcessError(statusCode, requestId, errorCode, message)
	case InvalidShardOperation:
		return NewShardSealedError(statusCode, requestId, errorCode, message)
	}
	return NewDatahubClientError(statusCode, requestId, errorCode, message)
}