public PingResult TryPingServer() { return(Try(() => RestHandler.RetryPolicy().ExecuteAsync(() => handler.Get(env.Host, env.Uri))) .Map(r => r.Result.Content.ReadAsStringAsync().Result) .Filter(r => r.Contains("build")) .Match(Succ: ToPingResponse(), Fail: ToNetworkFailure())); }