insomnia/packages/insomnia-app/app/network/grpc/parse-grpc-url.ts

35 lines
642 B
TypeScript
Raw Normal View History

import url from 'url';
const parseGrpcUrl = (
grpcUrl?: string,
): {
url: string;
enableTls: boolean;
} => {
const { protocol, host, href } = url.parse(grpcUrl?.toLowerCase() || '');
switch (protocol) {
case 'grpcs:':
return {
// @ts-expect-error -- TSCONVERSION host can be undefined
url: host,
enableTls: true,
};
case 'grpc:':
return {
// @ts-expect-error -- TSCONVERSION host can be undefined
url: host,
enableTls: false,
};
default:
return {
url: href,
enableTls: false,
};
}
};
export default parseGrpcUrl;