Private/GetWebRequestSplatBase.ps1

function GetWebRequestSplatBase {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory, Position = 0)]
        [string]
        $Uri
    )

    $webRequestParams = @{
        "Uri" = $Uri
        "UseBasicParsing" = $true
        "UserAgent" = "Import-WsusUpdate"
        "Verbose" = $false
    }

    if ($null -eq $Script:WebSession) {
        $webRequestParams["SessionVariable"] = "Script:WebSession"
    } else {
        $webRequestParams["WebSession"] = $Script:WebSession
    }

    $proxy = GetProxySettingsForUri -Uri $Uri

    if (![string]::IsNullOrWhiteSpace($proxy)) {
        $webRequestParams["Proxy"] = $proxy
        Write-Verbose "Using proxy $proxy for $Uri."

        if ($null -ne $Script:ProxyCredentials) {
            $webRequestParams["ProxyCredential"] = $Script:ProxyCredentials
        }
    }

    return $webRequestParams
}

# Copyright (c) 2023 AJ Tek Corporation. All Rights Reserved.