public WebStatusExport Status(string id = null) { if (string.IsNullOrEmpty(id)) { throw new HttpResponseException(new ErrorMessage(System.Net.HttpStatusCode.BadRequest, $"Web nenalezen" )); } ZabHost host = ZabTools.Weby().Where(w => w.hostid == id.ToString() & w.itemIdResponseTime != null).FirstOrDefault(); if (host == null) { throw new HttpResponseException(new ErrorMessage(System.Net.HttpStatusCode.BadRequest, $"Web nenalezen" )); } try { ZabHostAvailability data = ZabTools.GetHostAvailabilityLong(host); ZabHostSslStatus webssl = ZabTools.SslStatusForHostId(host.hostid); var ssldata = new WebStatusExport.SslData() { Grade = webssl?.Status().ToNiceDisplayName(), LatestCheck = webssl?.Time, Copyright = "(c) © Qualys, Inc. https://www.ssllabs.com/", FullReport = "https://www.ssllabs.com/ssltest/analyze.html?d=" + webssl?.Host?.UriHost() }; if (webssl == null) { ssldata = null; } return (new WebStatusExport() { Availability = data, SSL = ssldata }); } catch (Exception e) { HlidacStatu.Util.Consts.Logger.Error($"_DataHost id ${id}", e); throw new HttpResponseException(new ErrorMessage(System.Net.HttpStatusCode.BadRequest, $"Interní chyba při načítání systému." )); } }
private ActionResult _DataHost(int id, string h) { ZabHost host = ZabTools.Weby().Where(w => w.hostid == id.ToString() & w.itemIdResponseTime != null).FirstOrDefault(); if (host == null) { return(Json(ApiResponseStatus.StatniWebNotFound, JsonRequestBehavior.AllowGet)); } if (host.ValidHash(h)) { try { var data = ZabTools.GetHostAvailabilityLong(host); var webssl = ZabTools.SslStatusForHostId(host.hostid); var ssldata = new { grade = webssl?.Status().ToNiceDisplayName(), time = webssl?.Time, copyright = "(c) © Qualys, Inc. https://www.ssllabs.com/", fullreport = "https://www.ssllabs.com/ssltest/analyze.html?d=" + webssl?.Host?.UriHost() }; if (webssl == null) { ssldata = null; } return(Content(Newtonsoft.Json.JsonConvert.SerializeObject( new { availability = data, ssl = ssldata }) , "text/json")); } catch (Exception e) { HlidacStatu.Util.Consts.Logger.Error($"_DataHost id ${id}", e); return(Json(ApiResponseStatus.GeneralExceptionError, JsonRequestBehavior.AllowGet)); } } else { return(Json(ApiResponseStatus.StatniWebNotFound, JsonRequestBehavior.AllowGet)); } }