|
3 | 3 | function format_hash([String] $hash) {
|
4 | 4 | $hash = $hash.toLower()
|
5 | 5 |
|
| 6 | + # Workaround for GitHub API: |
| 7 | + # `"digest": "sha256:<SHA256_STRING>"` |
6 | 8 | if ($hash -like 'sha256:*') {
|
7 | 9 | $hash = $hash.Substring(7) # Remove prefix 'sha256:'
|
8 | 10 | }
|
@@ -209,13 +211,14 @@ function get_hash_for_app([String] $app, $config, [String] $version, [String] $u
|
209 | 211 | $hash = $null
|
210 | 212 |
|
211 | 213 | $hashmode = $config.mode
|
| 214 | + $originurl = strip_fragment $url |
212 | 215 | $basename = [System.Web.HttpUtility]::UrlDecode((url_remote_filename($url)))
|
213 | 216 |
|
214 | 217 | $substitutions = $substitutions.Clone()
|
215 |
| - $substitutions.Add('$url', (strip_fragment $url)) |
216 |
| - $substitutions.Add('$baseurl', (strip_filename (strip_fragment $url)).TrimEnd('/')) |
| 218 | + $substitutions.Add('$url', $originurl) |
| 219 | + $substitutions.Add('$baseurl', (strip_filename $originurl).TrimEnd('/')) |
217 | 220 | $substitutions.Add('$basename', $basename)
|
218 |
| - $substitutions.Add('$urlNoExt', (strip_ext (strip_fragment $url))) |
| 221 | + $substitutions.Add('$urlNoExt', (strip_ext $originurl)) |
219 | 222 | $substitutions.Add('$basenameNoExt', (strip_ext $basename))
|
220 | 223 |
|
221 | 224 | debug $substitutions
|
@@ -297,7 +300,7 @@ function get_hash_for_app([String] $app, $config, [String] $version, [String] $u
|
297 | 300 | }
|
298 | 301 | 'github' {
|
299 | 302 | $hashfile_url = "https://api.github.com/repos/$($matches['owner'])/$($matches['repo'])/releases"
|
300 |
| - $hash = find_hash_in_json $hashfile_url $substitutions ("$..assets[?(@.browser_download_url == '" + $url + "')].digest") |
| 303 | + $hash = find_hash_in_json $hashfile_url $substitutions ("$..assets[?(@.browser_download_url == '" + $originurl + "')].digest") |
301 | 304 | }
|
302 | 305 | }
|
303 | 306 |
|
|
0 commit comments