From 8ee3ce96d32a1e38877099d272de25d1420e23b7 Mon Sep 17 00:00:00 2001 From: Josh Patra Date: Fri, 30 Jan 2026 12:38:30 -0500 Subject: [PATCH] Standardize all SquidWTF API URL formats to prevent double slashes --- .../SquidWTF/SquidWTFDownloadService.cs | 2 +- .../SquidWTF/SquidWTFMetadataService.cs | 20 +++++++++---------- .../SquidWTF/SquidWTFStartupValidator.cs | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/allstarr/Services/SquidWTF/SquidWTFDownloadService.cs b/allstarr/Services/SquidWTF/SquidWTFDownloadService.cs index da1de60..b4ca25b 100644 --- a/allstarr/Services/SquidWTF/SquidWTFDownloadService.cs +++ b/allstarr/Services/SquidWTF/SquidWTFDownloadService.cs @@ -208,7 +208,7 @@ public class SquidWTFDownloadService : BaseDownloadService _ => "LOSSLESS" // Default to lossless }; - var url = $"{_currentApiBase}track/?id={trackId}&quality={quality}"; + var url = $"{_currentApiBase}/track?id={trackId}&quality={quality}"; Console.WriteLine($"%%%%%%%%%%%%%%%%%%% URL For downloads??: {url}"); diff --git a/allstarr/Services/SquidWTF/SquidWTFMetadataService.cs b/allstarr/Services/SquidWTF/SquidWTFMetadataService.cs index e35bc44..af37d71 100644 --- a/allstarr/Services/SquidWTF/SquidWTFMetadataService.cs +++ b/allstarr/Services/SquidWTF/SquidWTFMetadataService.cs @@ -95,7 +95,7 @@ public class SquidWTFMetadataService : IMusicMetadataService { try { - var url = $"{_currentApiBase}/search/?s={Uri.EscapeDataString(query)}"; + var url = $"{_currentApiBase}/search?s={Uri.EscapeDataString(query)}"; var response = await _httpClient.GetAsync(url); if (!response.IsSuccessStatusCode) @@ -133,7 +133,7 @@ public class SquidWTFMetadataService : IMusicMetadataService { try { - var url = $"{_currentApiBase}/search/?al={Uri.EscapeDataString(query)}"; + var url = $"{_currentApiBase}/search?al={Uri.EscapeDataString(query)}"; var response = await _httpClient.GetAsync(url); if (!response.IsSuccessStatusCode) @@ -172,7 +172,7 @@ public class SquidWTFMetadataService : IMusicMetadataService { try { - var url = $"{_currentApiBase}/search/?a={Uri.EscapeDataString(query)}"; + var url = $"{_currentApiBase}/search?a={Uri.EscapeDataString(query)}"; var response = await _httpClient.GetAsync(url); if (!response.IsSuccessStatusCode) @@ -211,7 +211,7 @@ public class SquidWTFMetadataService : IMusicMetadataService { try { - var url = $"{_currentApiBase}/search/?p={Uri.EscapeDataString(query)}"; + var url = $"{_currentApiBase}/search?p={Uri.EscapeDataString(query)}"; var response = await _httpClient.GetAsync(url); if (!response.IsSuccessStatusCode) return new List(); @@ -264,7 +264,7 @@ public class SquidWTFMetadataService : IMusicMetadataService try { // Use the /info endpoint for full track metadata - var url = $"{_currentApiBase}/info/?id={externalId}"; + var url = $"{_currentApiBase}/info?id={externalId}"; var response = await _httpClient.GetAsync(url); if (!response.IsSuccessStatusCode) return null; @@ -296,7 +296,7 @@ public class SquidWTFMetadataService : IMusicMetadataService try { // Use the /info endpoint for full track metadata - var url = $"{_currentApiBase}/album/?id={externalId}"; + var url = $"{_currentApiBase}/album?id={externalId}"; var response = await _httpClient.GetAsync(url); if (!response.IsSuccessStatusCode) return null; @@ -356,7 +356,7 @@ public class SquidWTFMetadataService : IMusicMetadataService try { // Use the /info endpoint for full track metadata - var url = $"{_currentApiBase}/artist/?f={externalId}"; + var url = $"{_currentApiBase}/artist?f={externalId}"; _logger.LogInformation("Fetching artist from {Url}", url); var response = await _httpClient.GetAsync(url); @@ -435,7 +435,7 @@ public class SquidWTFMetadataService : IMusicMetadataService _logger.LogInformation("GetArtistAlbumsAsync called for SquidWTF artist {ExternalId}", externalId); - var url = $"{_currentApiBase}/artist/?f={externalId}"; + var url = $"{_currentApiBase}/artist?f={externalId}"; _logger.LogInformation("Fetching artist albums from URL: {Url}", url); var response = await _httpClient.GetAsync(url); @@ -483,7 +483,7 @@ public class SquidWTFMetadataService : IMusicMetadataService try { - var url = $"{_currentApiBase}/playlist/?id={externalId}"; + var url = $"{_currentApiBase}/playlist?id={externalId}"; var response = await _httpClient.GetAsync(url); if (!response.IsSuccessStatusCode) return null; @@ -507,7 +507,7 @@ public class SquidWTFMetadataService : IMusicMetadataService try { - var url = $"{_currentApiBase}/playlist/?id={externalId}"; + var url = $"{_currentApiBase}/playlist?id={externalId}"; var response = await _httpClient.GetAsync(url); if (!response.IsSuccessStatusCode) return new List(); diff --git a/allstarr/Services/SquidWTF/SquidWTFStartupValidator.cs b/allstarr/Services/SquidWTF/SquidWTFStartupValidator.cs index 677caf8..feeb2c1 100644 --- a/allstarr/Services/SquidWTF/SquidWTFStartupValidator.cs +++ b/allstarr/Services/SquidWTF/SquidWTFStartupValidator.cs @@ -95,7 +95,7 @@ public class SquidWTFStartupValidator : BaseStartupValidator try { // Test search with a simple query - var searchUrl = $"{_apiBase}search/?s=Taylor%20Swift"; + var searchUrl = $"{_apiBase}/search?s=Taylor%20Swift"; var searchResponse = await _httpClient.GetAsync(searchUrl, cancellationToken); if (searchResponse.IsSuccessStatusCode)