mirror of
https://github.com/alei1180/curlone.git
synced 2025-11-30 23:34:57 +02:00
feat(web): Добавление обработчика конвертации команды curl в программный код
This commit is contained in:
@@ -45,7 +45,7 @@
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
resize: vertical;
|
||||
border-radius: 0;
|
||||
border: 2px solid black;
|
||||
overflow-y: scroll;
|
||||
@@ -84,17 +84,19 @@
|
||||
</div>
|
||||
<div class="container">
|
||||
<div>
|
||||
<label for="inputcurl">Команда curl</label>
|
||||
<textarea name="inputcurl" id="inputcurl" cols="120" rows="9" placeholder="curl example.com" required autofocus></textarea>
|
||||
<input type="submit" value="Конвертировать">
|
||||
<form method="post" action="/">
|
||||
<label for="inputcurl">Команда curl</label>
|
||||
<textarea name="inputcurl" id="inputcurl" cols="120" rows="9" spellcheck="false" placeholder="curl example.com" required autofocus>{{ Модель.Команда }}</textarea>
|
||||
<input type="submit" value="Конвертировать">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div>
|
||||
<label for="output">Код 1C</label>
|
||||
<textarea name="output" id="output" cols="120" rows="9" wrap="off" placeholder='Соединение = Новый HTTPСоединение("example.com", 80);
|
||||
<textarea name="output" id="output" cols="120" rows="9" wrap="off" spellcheck="false" placeholder='Соединение = Новый HTTPСоединение("example.com", 80);
|
||||
HTTPЗапрос = Новый HTTPЗапрос("/");
|
||||
HTTPОтвет = Соединение.ВызватьHTTPМетод("GET", HTTPЗапрос);'></textarea>
|
||||
HTTPОтвет = Соединение.ВызватьHTTPМетод("GET", HTTPЗапрос);'>{{ Модель.ПрограммныйКод }}</textarea>
|
||||
<input type="submit" value="Скопировать">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,6 +5,67 @@
|
||||
|
||||
&ТочкаМаршрута("")
|
||||
&Отображение("./Классы/interface/view/index.html")
|
||||
Процедура Главная(Ответ) Экспорт
|
||||
Процедура Главная(Запрос, Ответ) Экспорт
|
||||
Перем Ошибки;
|
||||
|
||||
ПараметрыЗапроса = ПараметрыИзТекста(Запрос.Тело);
|
||||
|
||||
Ответ.Модель = Модель();
|
||||
|
||||
КонецПроцедуры
|
||||
Команда = ПараметрыЗапроса.Получить("inputcurl");
|
||||
Если Команда <> Неопределено Тогда
|
||||
Ответ.Модель.Команда = Команда;
|
||||
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
|
||||
|
||||
Попытка
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(Команда, Новый ГенераторПрограммногоКода1С(), Ошибки);
|
||||
Исключение
|
||||
Ответ.Модель.ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
КонецПопытки;
|
||||
|
||||
Ответ.Модель.ПрограммныйКод = Результат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция Модель()
|
||||
Модель = Новый Структура();
|
||||
Модель.Вставить("Команда", "");
|
||||
Модель.Вставить("ПрограммныйКод", "");
|
||||
Модель.Вставить("ТекстОшибки", "");
|
||||
Возврат Модель;
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыИзТекста(ПараметрыТекстом, РазделительПараметров = "&") Экспорт
|
||||
|
||||
Результат = Новый Соответствие();
|
||||
|
||||
Если ЗначениеЗаполнено(ПараметрыТекстом) Тогда
|
||||
|
||||
ПараметрыТекстом = СтрЗаменить(ПараметрыТекстом, "+", " ");
|
||||
|
||||
МассивПараметров = СтрРазделить(РаскодироватьСтроку(ПараметрыТекстом, СпособКодированияСтроки.КодировкаURL), РазделительПараметров, Ложь);
|
||||
Для Каждого ТекПараметрСтрокой из МассивПараметров Цикл
|
||||
ТекПараметр = РазделитьСтроку(ТекПараметрСтрокой, "=");
|
||||
Результат.Вставить(ТекПараметр.Лево, ТекПараметр.Право);
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция РазделитьСтроку(Строка, Разделитель) Экспорт
|
||||
Результат = Новый Структура("Лево, Право","","");
|
||||
ПозицияРазделителя = СтрНайти(Строка, Разделитель);
|
||||
|
||||
Если ПозицияРазделителя = 0 Тогда
|
||||
Результат.Лево = Строка;
|
||||
Иначе
|
||||
Результат.Лево = Лев(Строка, ПозицияРазделителя - 1);
|
||||
Результат.Право = Сред(Строка, ПозицияРазделителя + СтрДлина(Разделитель));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
Reference in New Issue
Block a user