Implement HttpResponseMessage return type (#40)

This commit is contained in:
Patrick Stevens
2023-12-29 18:44:23 +00:00
committed by GitHub
parent 9e9744d37b
commit 346d6e8321
5 changed files with 139 additions and 0 deletions

View File

@@ -10,6 +10,8 @@ open System
open System.Threading
open System.Threading.Tasks
open System.IO
open System.Net
open System.Net.Http
open RestEase
/// Module for constructing a REST client.
@@ -279,4 +281,84 @@ module PureGymApi =
return node
}
|> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct))
member _.GetResponseMessage (ct : CancellationToken option) =
async {
let! ct = Async.CancellationToken
let uri =
System.Uri (client.BaseAddress, System.Uri ("endpoint", System.UriKind.Relative))
let httpMessage =
new System.Net.Http.HttpRequestMessage (
Method = System.Net.Http.HttpMethod.Get,
RequestUri = uri
)
let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask
let response = response.EnsureSuccessStatusCode ()
let node = response
return node
}
|> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct))
member _.GetResponseMessage' (ct : CancellationToken option) =
async {
let! ct = Async.CancellationToken
let uri =
System.Uri (client.BaseAddress, System.Uri ("endpoint", System.UriKind.Relative))
let httpMessage =
new System.Net.Http.HttpRequestMessage (
Method = System.Net.Http.HttpMethod.Get,
RequestUri = uri
)
let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask
let response = response.EnsureSuccessStatusCode ()
let node = response
return node
}
|> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct))
member _.GetResponseMessage'' (ct : CancellationToken option) =
async {
let! ct = Async.CancellationToken
let uri =
System.Uri (client.BaseAddress, System.Uri ("endpoint", System.UriKind.Relative))
let httpMessage =
new System.Net.Http.HttpRequestMessage (
Method = System.Net.Http.HttpMethod.Get,
RequestUri = uri
)
let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask
let response = response.EnsureSuccessStatusCode ()
let node = response
return node
}
|> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct))
member _.GetResponseMessage''' (ct : CancellationToken option) =
async {
let! ct = Async.CancellationToken
let uri =
System.Uri (client.BaseAddress, System.Uri ("endpoint", System.UriKind.Relative))
let httpMessage =
new System.Net.Http.HttpRequestMessage (
Method = System.Net.Http.HttpMethod.Get,
RequestUri = uri
)
let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask
let response = response.EnsureSuccessStatusCode ()
let node = response
return node
}
|> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct))
}