/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Identity/test/Identity.FunctionalTests/Extensions/HttpClientExtensions.cs
62 строки
2 KB
Youssef Fahmy
Update AngleSharp to latest (#67898)
20 июл 2026, 15:48
Не верифицирован
20 июл 2026, 15:48
fc4e6e0
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net.Http; using AngleSharp.Html.Dom; namespace Microsoft.AspNetCore.Identity.FunctionalTests; public static class HttpClientExtensions { public static Task<HttpResponseMessage> SendAsync( this HttpClient client, IHtmlFormElement form, IHtmlElement submitButton) { return client.SendAsync(form, submitButton, new Dictionary<string, string>()); } public static Task<HttpResponseMessage> SendAsync( this HttpClient client, IHtmlFormElement form, IEnumerable<KeyValuePair<string, string>> formValues) { var submitElement = Assert.Single(form.QuerySelectorAll("[type=submit]")); var submitButton = Assert.IsAssignableFrom<IHtmlElement>(submitElement); return client.SendAsync(form, submitButton, formValues); } public static Task<HttpResponseMessage> SendAsync( this HttpClient client, IHtmlFormElement form, IHtmlElement submitButton, IEnumerable<KeyValuePair<string, string>> formValues) { foreach (var kvp in formValues) { var element = Assert.IsAssignableFrom<IHtmlInputElement>(form[kvp.Key]); element.Value = kvp.Value; } var submit = form.GetSubmission(submitButton); var target = (Uri)submit.Target; if (submitButton.HasAttribute("formaction")) { var formaction = submitButton.GetAttribute("formaction"); target = new Uri(formaction, UriKind.Relative); } var submision = new HttpRequestMessage(new HttpMethod(submit.Method.ToString()), target) { Content = new StreamContent(submit.Body) }; foreach (var header in submit.Headers) { submision.Headers.TryAddWithoutValidation(header.Key, header.Value); submision.Content.Headers.TryAddWithoutValidation(header.Key, header.Value); } return client.SendAsync(submision); } }