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

рддреЛ рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЕрдЧрд░ рдореИрдВ рдЖрдлреНрдЯрд░рд╕реЗрдВрдб рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред
рдпрд╣ рд╕реЗрд╡рд╛ рдореЗрдВ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ http.PostAsync рд╢рд░реАрд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓реЙрдХ рд╣реИ

@TheSwerik рдЖрдкрдХреА рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рддреЛ рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореБрдЭреЗ рдЕрднреА рднреА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ ...

рдпрд╣ рдереНрд░реЗрдб рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдереНрд░реЗрдб рд╣реИред
рдореБрдЭреЗ рдХрднреА рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдкрдиреЗ рдЕрднреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╣реИред

рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдпрджрд┐ рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рдУрд╣, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдпрд╣рд╛рдБ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рдореИрдВ рдПрдХ рдирдпрд╛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдореБрджреНрджрд╛ рдмрдирд╛рдКрдБрдЧрд╛

@TheSwerik рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

JoergTiedemann picture JoergTiedemann  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

d0apga picture d0apga  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

academician picture academician  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

steveoh picture steveoh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DmitryEfimenko picture DmitryEfimenko  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ