insomnia/packages/insomnia-app/app/network/grpc/parse-grpc-url.ts
Dimitri Mitropoulos 5f4c19da35
[TypeScript] Phase 1 & 2 (#3370)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-12 18:35:00 +12:00

35 lines
642 B
TypeScript

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;