Поддерживаемые протоколы¶
Данный раздел содержит форматы данных и правила модификации ответов для каждого поддерживаемого пакетного менеджера в OSA Proxy.
Maven¶
Обрабатываемые файлы¶
maven-metadata.xml
- манифест с информацией о версиях.jar
,.war
,.ear
- файлы пакетов
Модификация полей в maven-metadata.xml¶
<metadata>
<groupId>...</groupId>
<artifactId>...</artifactId>
<versioning>
<latest>обновляется на последнюю незаблокированную</latest>
<release>обновляется на последнюю незаблокированную</release>
<versions>
<version>удаляются заблокированные версии</version>
</versions>
</versioning>
</metadata>
NPM¶
Обрабатываемые файлы¶
- JSON манифест пакета (путь
/{repository}/*
) .tgz
- архивы пакетов
Модификация полей в NPM манифесте¶
{
"name": "package-name",
"dist-tags": {
"latest": "обновляется на последнюю незаблокированную версию"
},
"versions": {
"1.0.0": "удаляются заблокированные версии"
},
"time": {
"1.0.0": "удаляются записи для заблокированных версий"
}
}
PyPI¶
Обрабатываемые файлы¶
- HTML страницы Simple API (путь
/{repository}/simple/*
) .zip
,.tar
,.tgz
,.tar.gz
,.tar.bz2
,.egg
,.whl
- файлы пакетов
Модификация HTML страниц¶
- Удаляются ссылки для заблокированных версий
- Перезаписываются URL для скачивания через прокси
<!DOCTYPE html>
<html>
<body>
<a href="https://files.pythonhosted.org/packages/example-1.0.0.tar.gz">example-1.0.0.tar.gz</a>
<a href="https://files.pythonhosted.org/packages/example-2.0.0.tar.gz">example-2.0.0.tar.gz</a>
</body>
</html>
NuGet¶
Обрабатываемые файлы¶
index.json
- сервисный индекс- Registration index JSON
.nupkg
- файлы пакетов