Files
WoofWare.Myriad/MyriadPlugin.Test/HttpClient.fs
2023-12-29 11:07:32 +00:00

18 lines
569 B
Forth

namespace MyriadPlugin.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 make (baseUrl : System.Uri) (handler : HttpRequestMessage -> Async<HttpResponseMessage>) =
let result = new HttpClientMock (handler)
result.BaseAddress <- baseUrl
result