Можно ли увидеть ответное сообщение, поступающее с сервера, и если да, то можно ли опубликовать пример?
Я пытаюсь использовать это, чтобы иметь место, где я помещаю тост «ошибка», поэтому мне нужно иметь возможность видеть, когда запрос возвращает ошибку.
Спасибо!
Одним из решений является изменение метода SendAsync на:
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage response = null;
try
{
BeforeSend?.Invoke(this, request);
response = await (SendAsyncMethod.Invoke(Handler, new object[] { request, cancellationToken }) as Task<HttpResponseMessage>);
return response;
}
finally
{
AfterSend?.Invoke(this, response);
}
}
и обработчики событий для
/// <summary>
/// Occurs before a HTTP request sending.
/// </summary>
public event EventHandler<HttpRequestMessage> BeforeSend;
/// <summary>
/// Occurs after received a response of a HTTP request. (include it wasn't succeeded.)
/// </summary>
public event EventHandler<HttpResponseMessage> AfterSend;
Я принял это предложение. Вроде так и должно быть изначально. Делает этот перехватчик значительно более полезным, если только я не понимаю полезность EventArgs e
Спасибо за приятный отзыв! 👍
Я опубликовал «Blazor WebAssembly (на стороне клиента) HttpClient Interceptor» v.6.1.0, который включает новую функцию, предложенную @khamang !
См. также: https://github.com/jsakamoto/Toolbelt.Blazor.HttpClientInterceptor/#the-arguments-of-event-handler .
Так это должно быть исправлено? Я все еще получаю сообщение об ошибке, если хочу получить доступ к содержимому ответа в файле AfterSend.
В службе говорится, что http.PostAsync не может получить доступ к телу, потому что оно заблокировано.
@TheSwerik Спасибо за отчет.
Так это должно быть исправлено? Я все еще получаю сообщение об ошибке...
Эта ветка не является отчетом об ошибках, это ветка с предложением новой функции.
Я никогда не знал, что у него есть проблема, о которой вы сообщили сейчас.
Я попытаюсь воспроизвести эту проблему позже и постараюсь исправить ее, если смогу воспроизвести.
О, я думал, что это подходит здесь, я создам новый и более подробный вопрос
@TheSwerik Спасибо!