BaronGreenback 4 年之前
父節點
當前提交
dca0298710

+ 8 - 6
Jellyfin.Api/Controllers/TestController.cs → Jellyfin.Api/Controllers/TestsController.cs

@@ -20,14 +20,16 @@ namespace Jellyfin.Api.Controllers
         /// <response code="200">Information retrieved.</response>
         [HttpGet("UrlDecode")]
         [ProducesResponseType(StatusCodes.Status200OK)]
-        public ActionResult TestUrlDecoding([FromQuery]Dictionary<string, string>? @params = null)
+        public ContentResult TestUrlDecoding([FromQuery]Dictionary<string, string>? @params = null)
         {
-            if (@params != null && @params.Count > 0)
+            return new ContentResult()
             {
-                Response.Headers.Add("querystring", string.Join("&", @params.Select(x => x.Key + "=" + x.Value)));
-            }
-
-            return Ok();
+                Content = (@params != null && @params.Count > 0)
+                    ? string.Join("&", @params.Select(x => x.Key + "=" + x.Value))
+                    : string.Empty,
+                ContentType = "text/plain; charset=utf-8",
+                StatusCode = 200
+            };
         }
     }
 }

+ 4 - 2
tests/Jellyfin.Api.Tests/Controllers/EncodedQueryStringTest.cs

@@ -1,3 +1,4 @@
+using System;
 using System.IO;
 using System.Linq;
 using System.Net;
@@ -29,9 +30,10 @@ namespace Jellyfin.Api.Tests.Controllers
         {
             var client = _factory.CreateClient();
 
-            var response = await client.GetAsync("Tests/Decoding?" + sourceUrl).ConfigureAwait(false);
+            var response = await client.GetAsync("Tests/UrlDecode?" + sourceUrl).ConfigureAwait(false);
             Assert.Equal(HttpStatusCode.OK, response.StatusCode);
-            Assert.Equal(unencodedUrl, response.Headers.GetValues("querystring").First());
+            string reply = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
+            Assert.Equal(unencodedUrl, reply);
         }
     }
 }