F# timed HTTP GET that parses JSON
F#
open System
open System.Net.Http
open System.Text.Json
let client = new HttpClient(Timeout = TimeSpan.FromSeconds 5.0)
let getJson (url: string) : JsonElement =
use response = client.GetAsync(url).GetAwaiter().GetResult()
response.EnsureSuccessStatusCode() |> ignore
let body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult()
use doc = JsonDocument.Parse body
doc.RootElement.Clone()
let status = getJson "https://example.com/api/health"