private IRestResponse PerformGetResponse(IRestRequest request) { var response = new RestResponse { ResponseStatus = ResponseStatus.None }; try { Assert.InRange(CurrentCallNumber, 0, GetResponses.Count - 1); var r = GetResponses[CurrentCallNumber](request); CurrentCallNumber++; var bytes = r.Raw ? (byte[])r.ResponseObject : Encoding.UTF8.GetBytes(new BaseXmlSerializer().Serialize(r.ResponseObject)); response.ResponseStatus = ResponseStatus.Completed; response.StatusCode = r.StatusCode; response.ContentType = r.ContentType ?? "text/xml"; response.ContentLength = bytes.Length; response.RawBytes = bytes; } catch (Exception ex) { response.ErrorMessage = ex.Message; response.ErrorException = ex; response.ResponseStatus = ResponseStatus.Error; } return(response); }
private HttpResponse PerformGetResponse(string method) { var response = new HttpResponse(); response.ResponseStatus = ResponseStatus.None; try { Assert.InRange(CurrentCallNumber, 0, GetResponses.Count - 1); var r = GetResponses[CurrentCallNumber](method); CurrentCallNumber++; var bytes = Encoding.UTF8.GetBytes(new BaseXmlSerializer().Serialize(r.ResponseObject)); response.ResponseStatus = ResponseStatus.Completed; response.StatusCode = r.StatusCode; response.ContentType = "text/xml"; response.ContentLength = bytes.Length; response.RawBytes = bytes; } catch (Exception ex) { response.ErrorMessage = ex.Message; response.ErrorException = ex; response.ResponseStatus = ResponseStatus.Error; } Reset(); return(response); }
private IEnumerator <HttpResponseMessage> ChooseResponseEnumerator(HttpRequestMessage request) { if (request.Method == HttpMethod.Get) { if (enumerateGetResponses == null) { enumerateGetResponses = GetResponses.GetEnumerator(); } return(enumerateGetResponses); } else if (request.Method == HttpMethod.Patch) { if (enumeratePatchResponses == null) { enumeratePatchResponses = PatchResponses.GetEnumerator(); } return(enumeratePatchResponses); } else if (request.Method == HttpMethod.Post) { if (enumeratePostResponses == null) { enumeratePostResponses = PostResponses.GetEnumerator(); } return(enumeratePostResponses); } else { throw new NotImplementedException(); } }
public HttpStub RespondWith(Func <string, object> getObject) { GetResponses.Add(m => { return(new HttpStubResponse { StatusCode = HttpStatusCode.OK, ResponseObject = getObject(m) }); }); return(this); }
public RestClientStub RespondWith(Func <IRestRequest, object> getObject) { GetResponses.Add(r => { return(new RestResponseStub { StatusCode = HttpStatusCode.OK, ResponseObject = getObject(r) }); }); return(this); }
public IActionResult Index() { Random rand = new Random(); int index = rand.Next(SecretWord.Count); string secretWord = SecretWord[index].SecretWord; string description = SecretWord[index].Description; Response.Cookies.Append("secret", secretWord); char[] array = secretWord.ToCharArray(); List <string> secretLetterArray = new List <string>(); foreach (var letter in array) { secretLetterArray.Add(letter.ToString()); } for (int i = 0; i < secretLetterArray.Count; i++) { string letterIndex = i.ToString(); Response.Cookies.Append(letterIndex, secretLetterArray[i]); } Response.Cookies.Append("Guess", "0"); return(Json(GetResponses.GetResponse(description))); }
public HttpStub RespondWith(Func <string, HttpStubResponse> getResponse) { GetResponses.Add(getResponse); return(this); }
public RestClientStub RespondWith(Func <IRestRequest, RestResponseStub> getResponse) { GetResponses.Add(getResponse); return(this); }
public IActionResult GetMessage() { string answer = Request.Cookies["myCookie"]; string secret = Request.Cookies["secret"]; if (Request.Cookies.ContainsKey("myCookie")) { if (answer.Length == secret.Length) { Levenshtein.LevenshteinDistance(answer, secret); if (answer == secret) { string access = "Ты ответил правильно!!!" + "\nЭто слово " + secret.ToUpper() + ", можешь перезагрузить страницу, чтобы я загадал новое слово"; return(Json(GetResponses.GetResponse(access))); } else if (Levenshtein.LevenshteinDistance(answer, secret) <= 3) { string minDifferent = "Cлово максимально похоже на загаданное, нужно изменить всего лишь " + Levenshtein.LevenshteinDistance(answer, secret) + " буквы"; return(Json(GetResponses.GetResponse(minDifferent))); } else { string fail = "Ты ответил неправильно(("; string guess = Request.Cookies["Guess"]; int Guesses = int.Parse(guess); Guesses++; guess = Guesses.ToString(); Response.Cookies.Delete("Guess"); Response.Cookies.Append("Guess", guess); if (Guesses >= 3) { string letter = arrayCookies(); string failGuesses = letter; var lelee = Request.Cookies.Keys; Response.Cookies.Delete("Guess"); Response.Cookies.Append("Guess", "0"); return(Json(GetResponses.GetResponse(failGuesses))); } return(Json(GetResponses.GetResponse(fail))); } } else { if (answer.Length < secret.Length) { List <string> LenghtBigger = new List <string>() { "Загаданное слово больше, чем ты написал", "Неа,твое слово меньше, чем загаданное", "Эх, какое короткое слово(((", "Попробуй написать слово чуть подлиннее" }; Random rand = new Random(); int index = rand.Next(LenghtBigger.Count); string answerToClient = LenghtBigger[index]; return(Json(GetResponses.GetResponse(answerToClient))); } else { List <string> LenghtShorter = new List <string>() { "Загаданное слово меньше, чем ты написал", "Неа,твое слово больше, чем загаданное", "Эх, какое длинное слово(((", "Попробуй написать слово чуть короче" }; Random rand = new Random(); int index = rand.Next(LenghtShorter.Count); string answerToClient = LenghtShorter[index]; return(Json(GetResponses.GetResponse(answerToClient))); } } } else if (answer == null) { string nullValue = "Хэээй, ты ничего не написал"; return(Json(GetResponses.GetResponse(nullValue))); } else { string failGetData = "Что то не так с сервером!!!"; return(Json(GetResponses.GetResponse(failGetData))); } }