mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-12 22:29:06 +00:00
6560bedab8
Co-authored-by: Rhys Arkins <rhys@arkins.net>
28 lines
718 B
TypeScript
28 lines
718 B
TypeScript
import type { HostRule } from '../../../types';
|
|
import { findAll } from '../../../util/host-rules';
|
|
|
|
function isAuthenticatable(rule: HostRule): boolean {
|
|
return (
|
|
!!rule.resolvedHost &&
|
|
((!!rule.username && !!rule.password) || !!rule.token)
|
|
);
|
|
}
|
|
|
|
export function findAllAuthenticatable({
|
|
hostType,
|
|
}: {
|
|
hostType: string;
|
|
}): HostRule[] {
|
|
return findAll({ hostType }).filter(isAuthenticatable);
|
|
}
|
|
|
|
export function getAuthenticationHeaderValue(hostRule: HostRule): string {
|
|
if (hostRule.username) {
|
|
const username = encodeURIComponent(hostRule.username);
|
|
// TODO: types (#22198)
|
|
return `${username}:${hostRule.password!}`;
|
|
}
|
|
|
|
// TODO: types (#22198)
|
|
return `${hostRule.token!}`;
|
|
}
|