// core request engine low level validation logic public static IgniteResponseStatus validate(IgniteRequest request) { // not valid version if (!request.getHttpVersion().Equals(validHttpVersion)) { Console.WriteLine("IgniteERquestValidatorService@validate | http version not valid, sending 400"); return(new IgniteResponseStatus(HttpStatus.BAD_REQUEST, HttpStatus.BAD_REQUEST_MESSAGE)); } if (request.getRoute().Equals("")) { logger.warn("IgniteERquestValidatorService@validate | route not valid, sending 400"); return(new IgniteResponseStatus(HttpStatus.BAD_REQUEST, HttpStatus.BAD_REQUEST_MESSAGE)); } if (!request.getMethod().Equals(HttpMethod.GET) && !request.getHeaders().ContainsKey(HttpHeaders.ContentLength)) { logger.warn("IgniteERquestValidatorService@validate | no content length header sending 411"); return(new IgniteResponseStatus(HttpStatus.LENGTH_REQUIRED, HttpStatus.LENGTH_REQUIRED_MESSAGE)); } // not supported method if (HttpMethod.getAvalibleMethods().IndexOf(request.getMethod()) == -1) { logger.warn("IgniteERquestValidatorService@validate | not allowed method, sending 501"); return(new IgniteResponseStatus(HttpStatus.NOT_IMPLEMENTED, HttpStatus.NOT_IMPLEMENTED_MESSAGE)); } Dictionary <String, String> headers = request.getHeaders(); foreach (KeyValuePair <String, String> entry in headers) { if (entry.Key.Equals("") || entry.Value.Equals("")) { logger.warn("IgniteERquestValidatorService@validate | headers not valid, sending 400"); return(new IgniteResponseStatus(HttpStatus.BAD_REQUEST, HttpStatus.BAD_REQUEST_MESSAGE)); } } return(new IgniteResponseStatus(HttpStatus.OK, HttpStatus.OK_MESSAGE)); }