Files
WoofWare.Myriad/WoofWare.Myriad.Plugins.Test/HttpClient.fs
Patrick Stevens ed0e4da0a3 Bump deps (#54)
2023-12-30 12:50:53 +00:00

22 lines
716 B
Forth

namespace WoofWare.Myriad.Plugins.Test
open System.Net.Http
/// Simple implementation of an HttpClient.
type HttpClientMock (result : HttpRequestMessage -> Async<HttpResponseMessage>) =
inherit HttpClient ()
override this.SendAsync (message, ct) =
Async.StartAsTask (result message, cancellationToken = ct)
[<RequireQualifiedAccess>]
module HttpClientMock =
let makeNoUri (handler : HttpRequestMessage -> Async<HttpResponseMessage>) =
let result = new HttpClientMock (handler)
result
let make (baseUrl : System.Uri) (handler : HttpRequestMessage -> Async<HttpResponseMessage>) =
let result = makeNoUri handler
result.BaseAddress <- baseUrl
result