public IGeoserverRestResponse GetLayerInfoBy(string datastore, string workspace, string layername) { var uri = $@"workspaces/{workspace}/datastores/{datastore}/featuretypes/{layername}"; var request = new ServiceRequest(uri); var response = restService.Get(request); var output = new GeoserverRestResponse { Data = response.Data, Code = response.StatusCode }; if (response.StatusCode == HttpStatusCode.OK) { output.FeatureTypeRoot = JsonConvert.DeserializeObject <FeatureTypeRoot>(response.Data); } if (response.StatusCode == HttpStatusCode.NotFound) { output.IsMissingDataStore = response.Data.StartsWith("No such datastore"); output.IsMissingWorkSpace = response.Data.StartsWith("No such workspace"); output.IsMissingFeatureType = response.Data.StartsWith("No such feature type"); } return(output); }
public IGeoserverRestResponse GetServerStatus() { var request = new ServiceRequest("about/manifest"); var response = restService.Get(request); var output = new GeoserverRestResponse { Data = response.Data, Code = response.StatusCode }; return(output); }
public IGeoserverRestResponse PostLayer(IFeatureTypeInfo layer) { var uri = $@"workspaces/{layer.Workspace}/datastores/{layer.Datastore}/featuretypes"; var request = new ServiceRequest(uri); var featureTypeRoot = LayerInfoTranslator.TranslateToRequestFeatureTypeRoot(layer); request.Body = JsonConvert.SerializeObject(featureTypeRoot); var response = restService.Post(request); var output = new GeoserverRestResponse { Data = response.Data, Code = response.StatusCode }; return(output); }
public IGeoserverRestResponse PutLayer(IFeatureTypeInfo layer) { var uri = $@"layers/{layer.Name}"; var request = new ServiceRequest(uri); var layerRoot = LayerInfoTranslator.TranslateToRequestLayerRoot(layer); request.Body = JsonConvert.SerializeObject(layerRoot); var response = restService.Put(request); var output = new GeoserverRestResponse { Data = response.Data, Code = response.StatusCode }; return(output); }