fix: correct URLs of OperationModel servers

This commit is contained in:
paza0322 2022-07-18 13:38:10 +03:00
parent 9920991080
commit 8db7cc92bb
2 changed files with 4 additions and 3 deletions

View File

@ -179,10 +179,11 @@ export function titleize(text: string) {
return text.charAt(0).toUpperCase() + text.slice(1);
}
export function removeQueryString(serverUrl: string): string {
export function removeQueryStringAndHash(serverUrl: string): string {
try {
const url = parseURL(serverUrl);
url.search = '';
url.hash = '';
return url.toString();
} catch (e) {
// when using with redoc-cli serverUrl can be empty resulting in crash

View File

@ -16,7 +16,7 @@ import {
Referenced,
} from '../types';
import { IS_BROWSER } from './dom';
import { isNumeric, removeQueryString, resolveUrl, isArray, isBoolean } from './helpers';
import { isNumeric, removeQueryStringAndHash, resolveUrl, isArray, isBoolean } from './helpers';
function isWildcardStatusCode(statusCode: string | number): statusCode is string {
return typeof statusCode === 'string' && /\dxx/i.test(statusCode);
@ -602,7 +602,7 @@ export function normalizeServers(
return href.endsWith('.html') ? dirname(href) : href;
};
const baseUrl = specUrl === undefined ? removeQueryString(getHref()) : dirname(specUrl);
const baseUrl = specUrl === undefined ? removeQueryStringAndHash(getHref()) : dirname(specUrl);
if (servers.length === 0) {
// Behaviour defined in OpenAPI spec: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#openapi-object