Skip to content

Commit d09eb99

Browse files
committed
#216 Заголовки для push
1 parent 977aa14 commit d09eb99

File tree

3 files changed

+56
-36
lines changed

3 files changed

+56
-36
lines changed

src/cmd/Классы/КомандаOpm_Push.os

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,17 @@
145145
// Для настроек по умолчанию
146146
Сервер = КонстантыOpm.СерверУдаленногоХранилища;
147147
Ресурс = КонстантыOpm.РесурсПубликацииПакетов;
148+
Авторизация = Неопределено;
149+
ДополнительныеЗаголовки = Неопределено;
150+
Таймаут = 60;
148151

149152
Для Каждого НастройкаСервера Из ДоступныеСервераПакетов Цикл
150153

151154
Если СтрСравнить(НастройкаСервера.Имя, ИмяСервераПакетов) = 0 Тогда
152155
Сервер = НастройкаСервера.Сервер;
153156
Ресурс = НастройкаСервера.РесурсПубликацииПакетов;
157+
Авторизация = НастройкаСервера.Авторизация;
158+
ДополнительныеЗаголовки = НастройкаСервера.ДополнительныеЗаголовки;
154159
Прервать;
155160
КонецЕсли;
156161

@@ -160,11 +165,20 @@
160165
Лог.Отладка("Ресурс = %1", Ресурс);
161166

162167
Заголовки = Новый Соответствие();
163-
Заголовки.Вставить("OAUTH-TOKEN", ТокенАвторизации);
168+
Если ЗначениеЗаполнено(Авторизация) Тогда
169+
Заголовки.Вставить("Authorization", ОбщегоНазначенияOpm.ПрименитьПеременныеСреды(Авторизация));
170+
Иначе
171+
Заголовки.Вставить("OAUTH-TOKEN", ТокенАвторизации);
172+
КонецЕсли;
164173
Заголовки.Вставить("FILE-NAME", ФайлПакета.Имя);
165174
Заголовки.Вставить("CHANNEL", Канал);
175+
Если ЗначениеЗаполнено(ДополнительныеЗаголовки) Тогда
176+
Для Каждого мЗаголовок Из ДополнительныеЗаголовки Цикл
177+
Заголовки.Вставить(мЗаголовок.Ключ, ОбщегоНазначенияOpm.ПрименитьПеременныеСреды(мЗаголовок.Значение));
178+
КонецЦикла;
179+
КонецЕсли;
166180

167-
Соединение = Новый HTTPСоединение(Сервер);
181+
Соединение = Новый HTTPСоединение(Сервер,,,,, Таймаут);
168182
Запрос = Новый HTTPЗапрос(Ресурс, Заголовки);
169183
Запрос.УстановитьТелоИзДвоичныхДанных(ДвоичныеДанныеФайла);
170184

src/core/Классы/СерверПакетов.os

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#Использовать strings
2-
31
Перем Лог;
42

53
Перем Имя Экспорт;
@@ -157,40 +155,9 @@
157155
КонецПроцедуры
158156

159157
Процедура ДобавитьЗаголовокКЗапросу(Знач Запрос, Знач Заголовок, Знач Значение)
160-
Запрос.Заголовки.Вставить(Заголовок, ПрименитьПеременныеСреды(Значение));
158+
Запрос.Заголовки.Вставить(Заголовок, ОбщегоНазначенияOpm.ПрименитьПеременныеСреды(Значение));
161159
КонецПроцедуры
162160

163-
Функция ПрименитьПеременныеСреды(Знач Значение)
164-
ПеременныеСреды = КакМассив(ПеременныеСреды());
165-
Возврат ПрименитьПеременныеСредыШаг(Значение, ПеременныеСреды, 0);
166-
КонецФункции
167-
168-
Функция ПрименитьПеременныеСредыШаг(Знач Значение, Знач ПеременныеСреды, Знач Индекс)
169-
170-
ПеременнаяИмя = СтрШаблон("${%1}", ПеременныеСреды[Индекс].Ключ);
171-
Части = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(Значение, ПеременнаяИмя);
172-
Если Индекс < ПеременныеСреды.Количество() - 1 Тогда
173-
Для Инд = 0 По Части.ВГраница() Цикл
174-
Части[Инд] = ПрименитьПеременныеСредыШаг(Части[Инд], ПеременныеСреды, Индекс + 1);
175-
КонецЦикла;
176-
КонецЕсли;
177-
178-
Результат = СтрСоединить(Части, ПеременныеСреды[Индекс].Значение);
179-
Возврат Результат;
180-
181-
КонецФункции
182-
183-
Функция КакМассив(Знач Соответствие)
184-
185-
Массив = Новый Массив;
186-
Для Каждого мКлючИЗанчение Из Соответствие Цикл
187-
Массив.Добавить(мКлючИЗанчение);
188-
КонецЦикла;
189-
190-
Возврат Массив;
191-
192-
КонецФункции
193-
194161
Функция НастройкаДляВыгрузки() Экспорт
195162

196163
Результат = Новый Структура;
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#Использовать strings
2+
3+
// Подставляет переменные среды в строку
4+
//
5+
// Параметры:
6+
// Значение - Строка - Исходная строка. Подстроки вида ${ИМЯ_ПЕРЕМЕННОЙ} заменяются на значение переменной
7+
//
8+
// Возвращаемое значение:
9+
// Строка - Строка с подставленными значениями переменных
10+
Функция ПрименитьПеременныеСреды(Знач Значение) Экспорт
11+
ПеременныеСреды = КакМассив(ПеременныеСреды());
12+
Возврат ПрименитьПеременныеСредыШаг(Значение, ПеременныеСреды, 0);
13+
КонецФункции
14+
15+
Функция ПрименитьПеременныеСредыШаг(Знач Значение, Знач ПеременныеСреды, Знач Индекс)
16+
17+
ПеременнаяИмя = СтрШаблон("${%1}", ПеременныеСреды[Индекс].Ключ);
18+
Части = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(Значение, ПеременнаяИмя);
19+
Если Индекс < ПеременныеСреды.Количество() - 1 Тогда
20+
Для Инд = 0 По Части.ВГраница() Цикл
21+
Части[Инд] = ПрименитьПеременныеСредыШаг(Части[Инд], ПеременныеСреды, Индекс + 1);
22+
КонецЦикла;
23+
КонецЕсли;
24+
25+
Результат = СтрСоединить(Части, ПеременныеСреды[Индекс].Значение);
26+
Возврат Результат;
27+
28+
КонецФункции
29+
30+
Функция КакМассив(Знач Соответствие)
31+
32+
Массив = Новый Массив;
33+
Для Каждого мКлючИЗанчение Из Соответствие Цикл
34+
Массив.Добавить(мКлючИЗанчение);
35+
КонецЦикла;
36+
37+
Возврат Массив;
38+
39+
КонецФункции

0 commit comments

Comments
 (0)