fix: ослаблена валидация content-type при загрузке спецификации по URL

- убрана строгая проверка content-type (ломала GitHub raw и другие серверы)
- вместо неё парсинг JSON с понятной ошибкой при невалидном ответе
- обновлён README: только npx, добавлен флаг --swr
- версия 1.0.7
This commit is contained in:
2026-04-01 19:21:34 +03:00
parent 2557568b5e
commit 961c7f0ec1
3 changed files with 42 additions and 63 deletions

View File

@@ -33,7 +33,20 @@ export async function generate(config: GeneratorConfig): Promise<void> {
url = config.inputPath;
// Загружаем спецификацию для получения info.title
const response = await fetch(url);
spec = await response.json();
if (!response.ok) {
throw new Error(
`Failed to fetch OpenAPI spec from ${url}: ${response.status} ${response.statusText}`
);
}
const text = await response.text();
try {
spec = JSON.parse(text);
} catch {
throw new Error(
`Failed to parse OpenAPI spec from ${url} as JSON. ` +
`Response starts with: "${text.slice(0, 50)}..."`
);
}
} else {
inputPath = resolve(config.inputPath);
spec = await readJsonFile<any>(inputPath);