mirror of
https://github.com/Smaug123/WoofWare.Myriad
synced 2025-10-06 12:38:40 +00:00
22 lines
716 B
Forth
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
|