public ValidateAnswer ( |
||
form | ||
Результат | CaptchaState |
public void Try() { var result = _visualCaptcha.ValidateAnswer(Request.Form); var queryParams = new NameValueCollection(); switch (result) { case CaptchaState.GeneralFail: queryParams.Add("status", "noCaptcha"); Response.StatusCode = (int)HttpStatusCode.NotFound; Response.StatusDescription = "Not Found"; break; case CaptchaState.ValidImage: queryParams.Add("status", "validImage"); Response.StatusCode = (int)HttpStatusCode.OK; break; case CaptchaState.FailedImage: queryParams.Add("status", "failedImage"); Response.StatusCode = (int)HttpStatusCode.Forbidden; break; case CaptchaState.ValidAudio: queryParams.Add("status", "validAudio"); Response.StatusCode = (int)HttpStatusCode.OK; break; case CaptchaState.FailedAudio: queryParams.Add("status", "failedAudio"); Response.StatusCode = (int)HttpStatusCode.Forbidden; break; default: queryParams.Add("status", "failedPost"); Response.StatusCode = (int)HttpStatusCode.InternalServerError; break; } if (Request.AcceptTypes != null && Request.AcceptTypes.Any(x => x.Contains("html"))) //was req.accepts( 'html' ) !== undefined ) { var querystring = string.Join("&", queryParams.AllKeys.Select(key => string.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(queryParams[key])))); Response.Redirect("/?" + querystring); } Response.End(); }