Skip to content

Commit bc4b715

Browse files
committed
Support for query parameters
1 parent 2d5ecd4 commit bc4b715

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/AngleSharp.Io.Tests/Network/AboutTests.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,28 @@ public async Task InvokeAboutUnsetUrlShouldNotFire()
7676
Assert.IsNull(response);
7777
Assert.AreEqual(0, requests.Count);
7878
}
79+
80+
[Test]
81+
public async Task InvokeAboutUrlWithQueryShouldFire()
82+
{
83+
var about = new AboutRequester();
84+
var requests = new List<IRequest>();
85+
var req = new Request
86+
{
87+
Address = Url.Create("about://cache?device=memory"),
88+
Method = HttpMethod.Get
89+
};
90+
91+
about.SetRoute("cache", (request, cancel) =>
92+
{
93+
requests.Add(request);
94+
return Task.FromResult(default(IResponse));
95+
});
96+
97+
var response = await about.RequestAsync(req, CancellationToken.None);
98+
Assert.IsNull(response);
99+
Assert.AreEqual(1, requests.Count);
100+
Assert.AreEqual(req.Address.Data, requests[0].Address.Data);
101+
}
79102
}
80103
}

src/AngleSharp.Io/Network/AboutRequester.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,13 @@ private static String GetAddress(String data)
7878

7979
while (data.Length > skip && data[skip] == '/' && skip++ < 2) ;
8080

81+
var query = data.IndexOf('?');
82+
83+
if (query >= 0)
84+
{
85+
data = data.Remove(query);
86+
}
87+
8188
return data.Remove(0, skip);
8289
}
8390
}

0 commit comments

Comments
 (0)