コード例 #1
0
 /// <summary>
 /// Map a handler to a specific http status code.
 /// </summary>
 /// <param name="request">The <see cref="ISolidHttpRequest" /> that is being extended.</param>
 /// <param name="code">The http status code.</param>
 /// <param name="handler">The handler to run when the status code of the <see cref="HttpResponseMessage" /> matches <paramref name="code" />.</param>
 /// <returns>The <see cref="ISolidHttpRequest" /> so that additional calls can be chained.</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, HttpStatusCode code, Action <HttpResponseMessage> handler)
 => request.On(r => r.StatusCode == code, handler);
コード例 #2
0
 /// <summary>
 /// Map a handler that is run on a specific condition defined by <paramref name="predicate" />.
 /// </summary>
 /// <param name="request">The <see cref="ISolidHttpRequest" /> that is being extended.</param>
 /// <param name="predicate">The predicate</param>
 /// <param name="handler">The handler to run when <paramref name ="predicate" /> returns true.</param>
 /// <returns>The <see cref="ISolidHttpRequest" /> so that additional calls can be chained.</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, Func <HttpResponseMessage, bool> predicate, Func <HttpResponseMessage, ValueTask> handler)
 => request.On(predicate, handler.Convert());
コード例 #3
0
 /// <summary>
 /// Map a handler to a specific http status code.
 /// </summary>
 /// <param name="request">The <see cref="ISolidHttpRequest" /> that is being extended.</param>
 /// <param name="code">The http status code.</param>
 /// <param name="handler">The handler to run when the status code of the <see cref="HttpResponseMessage" /> matches <paramref name="code" />.</param>
 /// <returns>The <see cref="ISolidHttpRequest" /> so that additional calls can be chained.</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, int code, Action <IServiceProvider, HttpResponseMessage> handler)
 => request.On((HttpStatusCode)code, handler);
コード例 #4
0
 /// <summary>
 /// Map a handler to a specific http status code.
 /// </summary>
 /// <param name="request">The <see cref="ISolidHttpRequest" /> that is being extended.</param>
 /// <param name="code">The http status code.</param>
 /// <param name="handler">The handler to run when the status code of the <see cref="HttpResponseMessage" /> matches <paramref name="code" />.</param>
 /// <returns>The <see cref="ISolidHttpRequest" /> so that additional calls can be chained.</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, HttpStatusCode code, Func <IServiceProvider, HttpResponseMessage, ValueTask> handler)
 => request.On(response => response.StatusCode == code, handler);
コード例 #5
0
 /// <summary>
 /// Map a handler that is run on a specific condition defined by <paramref name="predicate" />.
 /// </summary>
 /// <param name="request">The <see cref="ISolidHttpRequest" /> that is being extended.</param>
 /// <param name="predicate">The predicate</param>
 /// <param name="handler">The handler to run when <paramref name ="predicate" /> returns true.</param>
 /// <returns>The <see cref="ISolidHttpRequest" /> so that additional calls can be chained.</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, Func <HttpResponseMessage, bool> predicate, Action <IServiceProvider, HttpResponseMessage> handler)
 => request.On(predicate, handler.ConvertToAsync());
コード例 #6
0
 /// <summary>
 /// Map a handler to a specific http status code.
 /// </summary>
 /// <param name="request">The <see cref="ISolidHttpRequest" /> that is being extended.</param>
 /// <param name="code">The http status code.</param>
 /// <param name="handler">The handler to run when the status code of the <see cref="HttpResponseMessage" /> matches <paramref name="code" />.</param>
 /// <returns>The <see cref="ISolidHttpRequest" /> so that additional calls can be chained.</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, HttpStatusCode code, Func <HttpResponseMessage, ValueTask> handler)
 => request.On(code, handler.Convert());
コード例 #7
0
 /// <summary>
 /// Map an async handler to a specific http status code
 /// </summary>
 /// <param name="request">The ISolidHttpRequest</param>
 /// <param name="predicate">The predicate</param>
 /// <param name="handler">The async handler</param>
 /// <returns>SolidHttpRequest</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, Func <HttpResponseMessage, bool> predicate, Func <HttpResponseMessage, Task> handler)
 {
     return(request.On(predicate, (provider, response) => handler(response)));
 }
コード例 #8
0
 /// <summary>
 /// Map an async handler to a specific http status code
 /// </summary>
 /// <param name="request">The ISolidHttpRequest</param>
 /// <param name="code">The http status code</param>
 /// <param name="handler">The async handler</param>
 /// <returns>SolidHttpRequest</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, HttpStatusCode code, Func <HttpResponseMessage, Task> handler)
 {
     return(request.On(code, (provider, response) => handler(response)));
 }
コード例 #9
0
 /// <summary>
 /// Map a handler to a specific http status code
 /// </summary>
 /// <param name="request">The ISolidHttpRequest</param>
 /// <param name="predicate">The predicate</param>
 /// <param name="handler">The handler</param>
 /// <returns>SolidHttpRequest</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, Func <HttpResponseMessage, bool> predicate, Action <HttpResponseMessage> handler)
 {
     return(request.On(predicate, (services, response) => handler(response)));
 }
コード例 #10
0
 /// <summary>
 /// Map a handler to a specific http status code
 /// </summary>
 /// <param name="request">The ISolidHttpRequest</param>
 /// <param name="code">The http status code</param>
 /// <param name="handler">The handler</param>
 /// <returns>SolidHttpRequest</returns>
 public static ISolidHttpRequest On(this ISolidHttpRequest request, HttpStatusCode code, Action <IServiceProvider, HttpResponseMessage> handler)
 {
     return(request.On(r => r.StatusCode == code, handler));
 }