public override ValidationResult Validate() { string message = _validationObject switch { GetDataTransferMethodModel model => ValidateGetDataTransferMethodModel(model), EndDataTransferModel model => ValidateEndDataTransferModel(model), HttpGetToJobNodeModel model => ValidateHttpGetToJobNodeModel(model), HttpPostToJobNodeModel model => ValidateHttpPostToJobNodeModel(model), _ => string.Empty }; return(new ValidationResult(string.IsNullOrEmpty(message), message)); }
public async Task <IActionResult> HttpGetToJobNodeAsync(HttpGetToJobNodeModel model) { try { _logger.LogDebug($"Endpoint: \"DataTransfer\" Method: \"HttpGetToJobNode\" Parameters: \"{model}\""); ValidationResult validationResult = new DataTransferValidator(model).Validate(); if (!validationResult.IsValid) { ExceptionHandler.ThrowProperExternalException(new InputValidationException(validationResult.Message)); } return(Ok(await _service.HttpGetToJobNodeAsync(model.HttpRequest, model.HttpHeaders, model.SubmittedJobInfoId, model.NodeIPAddress, model.NodePort, model.SessionCode))); } catch (Exception e) { return(BadRequest(e.Message)); } }
private string ValidateHttpGetToJobNodeModel(HttpGetToJobNodeModel validationObj) { if (string.IsNullOrEmpty(validationObj.NodeIPAddress)) { _messageBuilder.AppendLine("IpAddress must be set"); } else if (!IsIpAddress(validationObj.NodeIPAddress)) { _messageBuilder.AppendLine("Ip address has unknown format. If using ipv6, please try to specify 'full address' without shortening."); } if (string.IsNullOrEmpty(validationObj.HttpRequest)) { _messageBuilder.AppendLine("HttpRequest must be set"); } if (!validationObj.HttpHeaders.Any()) { _messageBuilder.AppendLine("HttpHeader must be set"); } if (validationObj.HttpHeaders.Any(httpHeader => string.IsNullOrEmpty(httpHeader.Name) || string.IsNullOrEmpty(httpHeader.Value))) { _messageBuilder.AppendLine("HttpHeader must be set"); } ValidatePort(validationObj.NodePort); ValidateId(validationObj.SubmittedJobInfoId, nameof(validationObj.SubmittedJobInfoId)); ValidationResult sessionCodeValidation = new SessionCodeValidator(validationObj.SessionCode).Validate(); if (!sessionCodeValidation.IsValid) { _messageBuilder.AppendLine(sessionCodeValidation.Message); } return(_messageBuilder.ToString()); }