Toolbelt.blazor.httpclientinterceptor: Voir le message provenant du serveur

Créé le 22 janv. 2020  ·  7Commentaires  ·  Source: jsakamoto/Toolbelt.Blazor.HttpClientInterceptor

Est-il possible de voir le message de réponse provenant du serveur et si oui, pourriez-vous poster un exemple ?

J'essaie de l'utiliser pour avoir sur place où je place le toast "d'erreur", donc je dois pouvoir voir quand la demande renvoie l'erreur.

Merci!

Tous les 7 commentaires

Une solution consiste à modifier la méthode SendAsync en :

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);
            }
        }

et les gestionnaires d'événements à

/// <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;

J'ai retenu cette suggestion. Sorta semble que c'est comme ça que ça devrait être en premier lieu. Rend cet intercepteur beaucoup plus utile, à moins que je ne comprenne pas l'utilité de EventArgs e

Merci pour vos bons commentaires ! 👍

J'ai publié "Blazor WebAssembly (client-side) HttpClient Interceptor" v.6.1.0 qui inclut la nouvelle fonctionnalité suggérée par @khamang !

Voir aussi : https://github.com/jsakamoto/Toolbelt.Blazor.HttpClientInterceptor/#the -arguments-of-event-handler

Cela devrait donc être corrigé ? Je reçois toujours une erreur si je veux accéder au contenu de la réponse dans AfterSend.
Il est indiqué dans le service que http.PostAsync ne peut pas accéder au corps car il est verrouillé

@TheSwerik Merci pour votre reportage.

Cela devrait donc être corrigé ? J'obtiens toujours une erreur...

Ce fil n'est pas un rapport d'erreur, c'est un nouveau fil de proposition de fonctionnalité.
Je ne savais pas qu'il y avait un problème que vous avez signalé maintenant.

J'essaierai de reproduire ce problème plus tard, et j'essaierai de le corriger si je pouvais le reproduire.

Oh, je pensais que cela correspondait ici, je vais créer un nouveau problème plus détaillé

@TheSwerik Merci !

Cette page vous a été utile?
0 / 5 - 0 notes