class HtmlRequestMessageData { public readonly string Content; public readonly HttpMethod Method; public readonly Uri RequestUri; [JsonConstructor] HtmlRequestMessageData(HttpMethod method, Uri requestUri, string content) { this.Method = method; this.RequestUri = requestUri; this.Content = content; } public static async Task<HtmlRequestMessageData> FromHttpRequestMessage(HttpRequestMessage request) { return new HtmlRequestMessageData(request.Method, request.RequestUri, await (request.Content?.ReadAsStringAsync()).OrDefault()); } }