public void ValidateClientVersion() { // FIXME - add proxys support var hch = new HttpClientHandler(); using (var client = new HttpClient(hch)) { SetBaseAddress(client, _url); Authorize(client); var data = new ValidateClientVersionData { ClientVersion = ApiVersion.Current.Version, MinServerVersionSupportingClient = ApiVersion.Current.MinServerVersionSupportingClient, }; var result = client.PostAsync(_url + ApiControllerUrl + nameof(ModelsBuilderApiController.ValidateClientVersion), data, _formatter).Result; // this is not providing enough details in case of an error - do our own reporting //result.EnsureSuccessStatusCode(); EnsureSuccess(result); } }
[ApiBasicAuthFilter("developer")] // have to use our own, non-cookie-based, auth public HttpResponseMessage ValidateClientVersion(ValidateClientVersionData data) { if (!UmbracoConfig.For.ModelsBuilder().ApiServer) { return(Request.CreateResponse(HttpStatusCode.Forbidden, "API server does not want to talk to you.")); } if (!ModelState.IsValid || data == null || !data.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid data.")); } var checkResult = CheckVersion(data.ClientVersion, data.MinServerVersionSupportingClient); return(checkResult.Success ? Request.CreateResponse(HttpStatusCode.OK, "OK", Configuration.Formatters.JsonFormatter) : checkResult.Result); }