Проверка на пустой ответ запроса

  • Автор темы Автор темы Igorii
  • Дата начала Дата начала

Igorii

Client
Регистрация
21.02.2015
Сообщения
376
Реакции
313
Баллы
63
Друзья, помогите кодом. Нужно шесть кубиков, которые справа на скрине, реализовать в снипете. Данный блок проверяет ответ GET запроса на пустоту. Если ответ пустой, делает запрос ещё раз, если же более семи раз выдаётся пустой ответ, то завершает выполнение шаблона. 33333.jpg
 
Get-запрос засунуть в кубик c# внутрь цикла for не вариант?
Беда в том, что в c#, я полный ноль. Но если правильно понимаю, то в этом случае придётся переделывать код под каждый запрос. А хотелось бы получить универсальное решение, для проверки как GET, так и POST запросов. Дело в том, что имеется большой шаблон, на POST/GET и часто сыпятся пустые ответы. Если к каждому запросу прикручивать по 6 кубиков для проверки, то слишком загромождается шаблон. Потому и обратился за помощью. Или может то, что я хочу не возможно воплотить в коде?
 
Код:
Развернуть Свернуть Копировать
if (response == "")
{
// ответ пуст
return null;
}
else
{
// что то в ответе валяется
}

добавить переменую счётчика ещё сюда, при пустом ответе проверять
при успешном устанавливаем значение 0
 
  • Оценить
Реакции: Igorii
Код:
Развернуть Свернуть Копировать
if (response == "")
{
// ответ пуст
return null;
}
else
{
// что то в ответе валяется
}

добавить переменую счётчика ещё сюда, при пустом ответе проверять
при успешном устанавливаем значение 0
Спасибо! Половина уже есть). А не могли бы вы дать полный код, я просто не представляю, как это сделать...
 
РМ занят, тут неудобно писать
у тебя есть кубики, правый клик, конвертировать в C#, копируй в С# кубик, ну а там с логикой твори что тебе надо
 
  • Оценить
Реакции: Igorii
сильно не морочиться можно так
в переменой Counter по умолчанию выстави 0

C#:
Развернуть Свернуть Копировать
// переменная счётчик
int counter = int.Parse(project.Variables["Counter"].Value);

if (counter > 7)
{
    return null;
}

C#:
Развернуть Свернуть Копировать
var response = project.Variables["Response"].Value;

if (response == "")
{
    project.Variables["Counter"].Value = Convert.ToString(Convert.ToInt32(project.Variables["Counter"].Value) + 1);
    return null;
}
else
{
    project.Variables["Counter"].Value = "0";
}

2018-01-25_060441.png

но в таком случае надо выставлять в кубике GET "получать только содержимое" без заголовков
 
  • Оценить
Реакции: Igorii
сильно не морочиться можно так
в переменой Counter по умолчанию выстави 0

C#:
Развернуть Свернуть Копировать
// переменная счётчик
int counter = int.Parse(project.Variables["Counter"].Value);

if (counter > 7)
{
    return null;
}

C#:
Развернуть Свернуть Копировать
var response = project.Variables["Response"].Value;

if (response == "")
{
    project.Variables["Counter"].Value = Convert.ToString(Convert.ToInt32(project.Variables["Counter"].Value) + 1);
    return null;
}
else
{
    project.Variables["Counter"].Value = "0";
}

Посмотреть вложение 26529

но в таком случае надо выставлять в кубике GET "получать только содержимое" без заголовков
Спасибо! Работает! Жаль, что не вышло в один снипет всё вставить, тем не менее, четыре кубика, лучше чем шесть!
 
Спасибо! Работает! Жаль, что не вышло в один снипет всё вставить, тем не менее, четыре кубика, лучше чем шесть!

оповещения кубики можно убрать, это я поставил чтобы наглядно тебе видно было куда выход, а ты цепляй выход к своим
тли у тебя проект с трёх кубиков ?
 
  • Оценить
Реакции: Igorii

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)