fork of hey-api/openapi-ts because I need some additional things
1import type { Context } from '../../../ir/context';
2import { parseUrl } from '../../../utils/url';
3
4export function parseServers({ context }: { context: Context }): void {
5 if (context.spec.servers) {
6 context.ir.servers = context.spec.servers;
7 return;
8 }
9
10 for (const input of context.config.input) {
11 if (typeof input.path === 'string') {
12 const url = parseUrl(input.path);
13 context.ir.servers = [
14 {
15 url: `${url.protocol ? `${url.protocol}://` : ''}${url.host}${url.port ? `:${url.port}` : ''}`,
16 },
17 ];
18 }
19 }
20
21 if (!context.ir.servers) {
22 context.ir.servers = [
23 {
24 url: '/',
25 },
26 ];
27 }
28}