fork of hey-api/openapi-ts because I need some additional things
at feat/skip-token 28 lines 674 B view raw
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}