Toolbelt.blazor.httpclientinterceptor: Смотрите сообщение, пришедшее с сервера

Созданный на 22 янв. 2020  ·  7Комментарии  ·  Источник: jsakamoto/Toolbelt.Blazor.HttpClientInterceptor

Можно ли увидеть ответное сообщение, поступающее с сервера, и если да, то можно ли опубликовать пример?

Я пытаюсь использовать это, чтобы иметь место, где я помещаю тост «ошибка», поэтому мне нужно иметь возможность видеть, когда запрос возвращает ошибку.

Спасибо!

Все 7 Комментарий

Одним из решений является изменение метода 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 Спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги