Documentation
ΒΆ
Overview ΒΆ
Package geoserver is a Go client for the GeoServer REST API (v2 line).
Status ΒΆ
v2 has full v1 feature parity at master and exceeds it. The package covers every "everyone needs it" endpoint group identified in the gap analysis: catalog (workspaces, datastores, feature types, coverage stores, coverages, layers, layer groups, styles, namespaces), settings, system (reload + cache reset), about, security (users / groups / roles + layer ACL), per-service OWS configuration (WMS / WFS / WCS / WMTS), file-upload publishing on stores, layerβstyle associations, GeoWebCache (per-layer cache config + seed/reseed/truncate + diskquota), the Importer extension (batch ingest), and the OWS read-only trio (GetCapabilities + DescribeFeatureType + DescribeCoverage).
Public API is stable as of v2.0.0 β no breaking changes will land in v2.x. v2 is the recommended line for new integrations; v1 is end-of-feature on the release/v1 branch (security patches only):
import "github.com/hishamkaram/geoserver/v2" // v2: stable import "github.com/hishamkaram/geoserver" // v1: end-of-feature
See ../ROADMAP.md for the v2 milestones and ../docs/migration-v1-to-v2.md for the v1 β v2 migration guide.
Design tenets ΒΆ
v2 is a clean redesign that breaks v1's monolithic *GeoServer surface into a sub-client per resource:
- Immutable *Client. All fields private. Configured via functional options at construction; no post-construction mutation. Concurrent use is safe.
- Mandatory context.Context as first arg on every public method. No Background shims, no twin pairs.
- Sub-client pattern. Public fields like (*Client).Workspaces and (*Client).Datastores expose typed per-resource clients with consistent List / Get / Create / Update / Delete / Iter shapes. Hierarchical resources fluently chain through scope β c.Datastores.InWorkspace("topp"), c.FeatureTypes.InWorkspace(ws).InDatastore(ds).
- Single error type. Every HTTP error is a *APIError wrapping one of the package sentinels (ErrNotFound, ErrConflict, β¦) so errors.Is and errors.As are the supported match styles.
- Auth via http.RoundTripper. Basic / bearer auth attaches to the transport layer once at construction; per-call paths don't re-authenticate. Custom RoundTrippers (OpenTelemetry, retry libs, Vault-rotated creds) layer naturally.
- Streaming uploads. Resources that accept binary payloads take io.Reader and never slurp into memory.
- Pagination via iter.Seq2. List endpoints expose Iter for range-over-func; non-paginating endpoints fall back to a single-page Seq2.
- Zero runtime third-party dependencies. stdlib net/http, encoding/json, encoding/xml, log/slog, context, iter only. Test deps allowed.
Quick start ΒΆ
c, err := geoserver.New("http://localhost:8080/geoserver/",
geoserver.WithBasicAuth("admin", "geoserver"),
geoserver.WithTimeout(10*time.Second),
)
if err != nil {
return err
}
ctx := context.Background()
wss, err := c.Workspaces.List(ctx, workspaces.ListOptions{})
if errors.Is(err, geoserver.ErrUnauthorized) {
// handle bad credentials
}
Example (ErrorHandling) ΒΆ
Example_errorHandling shows the two idiomatic ways to inspect a returned error: errors.Is against the package sentinels for status-code matching, and errors.As to a *geoserver.APIError for the full request context.
package main
import (
"context"
"errors"
"fmt"
geoserver "github.com/hishamkaram/geoserver/v2"
)
func main() {
c, _ := geoserver.New("http://localhost:8080/geoserver",
geoserver.WithBasicAuth("admin", "geoserver"))
_, err := c.Workspaces.Get(context.Background(), "no-such-workspace")
switch {
case err == nil:
// found
case errors.Is(err, geoserver.ErrNotFound):
fmt.Println("not found β create it instead")
case errors.Is(err, geoserver.ErrUnauthorized):
fmt.Println("credentials rejected")
default:
// Inspect the typed error for diagnostics.
var apiErr *geoserver.APIError
if errors.As(err, &apiErr) {
fmt.Printf("%s %s -> %d\n", apiErr.Method, apiErr.URL, apiErr.StatusCode)
}
}
}
Output:
Index ΒΆ
- Variables
- type APIError
- type Client
- type Option
- func WithBasicAuth(username, password string) Option
- func WithBearerToken(token string) Option
- func WithHTTPClient(c *http.Client) Option
- func WithHeader(key, value string) Option
- func WithLogger(l *slog.Logger) Option
- func WithTimeout(d time.Duration) Option
- func WithTransport(rt http.RoundTripper) Option
- func WithUserAgent(ua string) Option
Examples ΒΆ
Constants ΒΆ
This section is empty.
Variables ΒΆ
var ( ErrBadRequest = errors.New("geoserver: bad request") ErrForbidden = errors.New("geoserver: forbidden") ErrNotFound = errors.New("geoserver: not found") ErrMethodNotAllowed = errors.New("geoserver: method not allowed") ErrConflict = errors.New("geoserver: conflict") ErrUnsupportedMediaType = errors.New("geoserver: unsupported media type") ErrRateLimited = errors.New("geoserver: rate limited") ErrServerError = errors.New("geoserver: internal server error") ErrBadGateway = errors.New("geoserver: bad gateway") ErrGatewayTimeout = errors.New("geoserver: gateway timeout") )
Sentinel errors. APIError.Is wraps these so callers can match status codes via errors.Is(err, ErrNotFound) etc.
The set mirrors v1's sentinel list; the Error type itself is renamed (v1: *Error β v2: *APIError) and tightened β v2 does not preserve v1's "abstract:%s\ndetails:%s\n" format because v2 is a clean break.
Functions ΒΆ
This section is empty.
Types ΒΆ
type APIError ΒΆ
type APIError struct {
// Op identifies the public operation that produced the error
// (e.g., "Workspaces.Create"). Set by the resource-client
// wrapper. Useful for logging.
Op string
// URL is the request URL.
URL string
// Method is the HTTP method.
Method string
// StatusCode is the HTTP status code from GeoServer.
StatusCode int
// Body is the response body, truncated to a fixed cap (8 KiB)
// to avoid unbounded retention. Useful for diagnostics; do not
// parse for control flow β use errors.Is against the package
// sentinels instead.
Body []byte
}
APIError represents a non-2xx response from GeoServer. The single error type for the v2 module β every wire-level failure surfaces as *APIError so callers can match either by sentinel (errors.Is) or by inspecting fields (errors.As).
func (*APIError) Error ΒΆ
Error returns a stable, parseable message of the form
geoserver: <Op> <Method> <URL>: <statusCode> <statusText>: <body-preview>
Body preview is truncated to ~120 bytes.
func (*APIError) HTTPStatusCode ΒΆ
HTTPStatusCode returns the HTTP status code that produced the error. A stable accessor (in addition to the APIError.StatusCode field) so sub-clients in v2/rest/* can branch on the status without importing the root package β that would create an import cycle since the root imports each rest/<resource>.
type Client ΒΆ
type Client struct {
// Workspaces is the entry point for workspace operations.
Workspaces *workspaces.Client
// Datastores is the entry point for datastore operations. Datastore
// operations are workspace-scoped β see [datastores.Client.InWorkspace].
Datastores *datastores.Client
// FeatureTypes is the entry point for feature-type operations.
// Feature-type operations are 2-level scoped β see
// [featuretypes.Client.InWorkspace] and [featuretypes.WorkspaceClient.InDatastore].
FeatureTypes *featuretypes.Client
// CoverageStores is the entry point for coverage-store operations.
// Coverage-store operations are workspace-scoped β see
// [coveragestores.Client.InWorkspace].
CoverageStores *coveragestores.Client
// Coverages is the entry point for coverage operations. Coverage
// operations are 2-level scoped β see [coverages.Client.InWorkspace]
// and [coverages.WorkspaceClient.InCoverageStore].
Coverages *coverages.Client
// Layers is the entry point for layer operations. Layer operations
// are workspace-scoped β see [layers.Client.InWorkspace].
Layers *layers.Client
// LayerGroups is the entry point for layer-group operations.
// Layer-group operations are workspace-scoped β see
// [layergroups.Client.InWorkspace].
LayerGroups *layergroups.Client
// Styles is the entry point for style operations. The client
// operates against the global /rest/styles endpoint by default;
// use [styles.Client.InWorkspace] for a workspace-scoped client.
Styles *styles.Client
// Namespaces is the entry point for namespace operations.
// Namespaces are flat under /rest/namespaces.
Namespaces *namespaces.Client
// Settings is the entry point for the singleton global-settings
// document β Get / Update against /rest/settings.
Settings *settings.Client
// About is the entry point for server health and version info β
// Ping (liveness check) and Version (full component versions).
About *about.Client
// Security is the entry point for users, groups, roles, and
// user-role assignment under /rest/security. See
// [security.Client] for the nested sub-client surface.
Security *security.Client
// ACL is the entry point for access-control-list rules under
// /rest/security/acl. Currently exposes layer ACLs via
// [acl.Client.Layers]; service-level and catalog-level ACL
// endpoints can be added in follow-up PRs.
ACL *acl.Client
// System is the entry point for server-management operations β
// Reload (catalog + configuration from disk) and ResetCache
// (store / raster / schema caches). Both require admin auth.
System *system.Client
// WMS is the entry point for WMS service operations β currently
// GetCapabilities (XML, decoded into [wms.Capabilities]). Use
// [wms.Client.InWorkspace] for a workspace-scoped capabilities
// document.
WMS *wms.Client
// WFS is the entry point for WFS service operations β currently
// GetCapabilities (XML, decoded into [wfs.Capabilities]). Use
// [wfs.Client.InWorkspace] for a workspace-scoped capabilities
// document.
WFS *wfs.Client
// WCS is the entry point for WCS service operations β currently
// GetCapabilities (XML, decoded into [wcs.Capabilities]). Use
// [wcs.Client.InWorkspace] for a workspace-scoped capabilities
// document.
WCS *wcs.Client
// Imports is the entry point for the GeoServer Importer
// extension at /rest/imports β bulk-ingest sessions for batch
// publishing, migrations, and drop-and-republish workflows.
// The extension is NOT installed by default; calls to a
// GeoServer without it return ErrNotFound.
Imports *imports.Client
// GWC is the entry point for GeoWebCache REST endpoints β
// per-layer cache config, seed/reseed/truncate tasks, and
// disk-quota policy. Lives at /gwc/rest/ (outside the /rest/
// catalog tree). Reach the typed sub-clients via
// `c.GWC.Layers()`, `Seed()`, `DiskQuota()`.
GWC *gwc.Client
// Services is the entry point for per-service OWS configuration
// (`/services/{wms,wfs,wcs,wmts}/settings`). Reach the typed
// per-service clients via `c.Services.WMS()`, `WFS()`, `WCS()`,
// `WMTS()`. Each exposes `Get`/`Update` for global settings and
// `.InWorkspace(ws)` for per-workspace overrides (`Get`/`Update`/`Delete`).
Services *services.Client
// Resources is the entry point for the GeoServer Resource API at
// /rest/resource/{path} β generic byte-stream access to files
// in the GeoServer data directory. Daily-driver methods cover
// reading file contents, listing directories, uploading new
// resources (FTL templates, SLD includes, icons), moving /
// copying files, and recursive deletion.
Resources *resources.Client
// Templates is the entry point for FreeMarker (FTL) templates
// that customize GetFeatureInfo HTML output, WMS HTML
// capabilities, and other text outputs. Six scope levels are
// supported β global, per workspace, per datastore, per feature
// type, per coverage store, per coverage β via fluent
// `c.Templates.InWorkspace(ws).In...()` chains.
Templates *templates.Client
// URLChecks is the entry point for URL External Access Checks
// at /rest/urlchecks. Allow/deny lists for external URL
// references in styles, mosaics, and remote stores. Used by
// SSRF-conscious deployments to constrain which off-server
// URLs GeoServer is permitted to fetch.
URLChecks *urlchecks.Client
// WMSStores is the entry point for cascaded WMS stores β
// references to remote WMS servers re-published through this
// GeoServer instance. Workspace-scoped via
// `c.WMSStores.InWorkspace(ws)`.
WMSStores *wmsstores.Client
// WMSLayers is the entry point for cascaded WMS layers β
// individual remote WMS layers published locally. 2-level
// scoped: `c.WMSLayers.InWorkspace(ws).InStore(s)` for the
// canonical CRUD path, `c.WMSLayers.InWorkspace(ws)` for the
// workspace-wide list / get / delete.
WMSLayers *wmslayers.Client
// WMTSStores is the entry point for cascaded WMTS stores.
// Same scoping pattern as [Client.WMSStores].
WMTSStores *wmtsstores.Client
// WMTSLayers is the entry point for cascaded WMTS layers.
// Same scoping pattern as [Client.WMSLayers].
WMTSLayers *wmtslayers.Client
// WFSTransforms is the entry point for XSLT transforms that
// re-shape WFS GetFeature output (HTML reports, KML, custom XML).
// The endpoint is part of the gs-xslt-wfs extension; calls
// against an unequipped GeoServer return ErrNotFound.
WFSTransforms *wfstransforms.Client
// Logging is the entry point for the singleton logging
// configuration document at /rest/logging β adjust the active
// log4j profile (DEFAULT_LOGGING, VERBOSE_LOGGING, etc.) and
// the stdout-mirror toggle without bouncing the server.
Logging *logging.Client
// Fonts is the entry point for the read-only /rest/fonts
// endpoint β list of font families the JVM exposes to GeoServer's
// SLD labelling pipeline. Sanity-check before publishing styles
// that reference specific fonts; typos would otherwise surface as
// silent label-rendering fallbacks.
Fonts *fonts.Client
// Monitor is the entry point for the read-only audit log at
// /rest/monitor/requests, exposed by the gs-monitor extension.
// The dev/test docker image bakes the extension in; calls
// against an unequipped GeoServer return ErrNotFound.
Monitor *monitor.Client
// contains filtered or unexported fields
}
Client is the v2 GeoServer REST client. All fields are private; the client is configured at construction via Option values and is immutable thereafter. Concurrent use across goroutines is safe.
Resource methods live on sub-clients accessed via the public fields:
Workspaces β workspace CRUD Datastores β datastore CRUD (workspace-scoped via InWorkspace) FeatureTypes β feature-type CRUD (workspace+datastore-scoped via InWorkspace().InDatastore()) CoverageStores β coverage-store CRUD (workspace-scoped via InWorkspace) Coverages β coverage CRUD (workspace+coverage-store-scoped via InWorkspace().InCoverageStore()) Layers β layer CRUD (workspace-scoped via InWorkspace) LayerGroups β layer-group CRUD (workspace-scoped via InWorkspace) Styles β style metadata + SLD body upload (global by default; .InWorkspace(ws) for workspace-scoped) Namespaces β namespace CRUD (flat global) Settings β singleton global settings document (Get / Update) About β health check + version info (Ping / Version) Security β users, groups, roles, user-role assignment ACL β access-control rules (Layers; future: Services, Catalog) (more sub-clients as resources port; see ROADMAP.md)
func New ΒΆ
New constructs an immutable *Client for the GeoServer instance at serverURL. serverURL must be a valid http:// or https:// URL, with or without a trailing slash. Apply options for HTTP client, auth, timeout, logging, headers.
Returns an error if any option is invalid or serverURL fails to parse β misconfiguration surfaces immediately rather than at first-call time.
Example ΒΆ
ExampleNew constructs a Client against a local GeoServer instance. All other configuration (auth, timeout, logging) is layered via geoserver.Option values.
package main
import (
"time"
geoserver "github.com/hishamkaram/geoserver/v2"
)
func main() {
c, err := geoserver.New("http://localhost:8080/geoserver",
geoserver.WithBasicAuth("admin", "geoserver"),
geoserver.WithTimeout(10*time.Second),
)
if err != nil {
// In real code: handle the error. New only fails on
// invalid serverURL or option misconfiguration.
panic(err)
}
_ = c
}
Output:
Example (BasicAuth) ΒΆ
ExampleNew_basicAuth shows the typical credential setup for an on-premise GeoServer instance.
package main
import (
"os"
geoserver "github.com/hishamkaram/geoserver/v2"
)
func main() {
_, _ = geoserver.New(
"https://geoserver.example.com/geoserver",
geoserver.WithBasicAuth("admin", os.Getenv("GEOSERVER_PASSWORD")),
)
}
Output:
Example (BearerToken) ΒΆ
ExampleNew_bearerToken shows how to authenticate against a GeoServer fronted by an OAuth2 / JWT proxy.
package main
import (
"os"
geoserver "github.com/hishamkaram/geoserver/v2"
)
func main() {
_, _ = geoserver.New(
"https://geoserver.example.com/geoserver",
geoserver.WithBearerToken(os.Getenv("GEOSERVER_TOKEN")),
)
}
Output:
Example (Logging) ΒΆ
ExampleNew_logging wires the client's slog handler to text output on stderr at debug level β every HTTP request is logged.
package main
import (
"log/slog"
"os"
geoserver "github.com/hishamkaram/geoserver/v2"
)
func main() {
logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{
Level: slog.LevelDebug,
}))
_, _ = geoserver.New(
"http://localhost:8080/geoserver",
geoserver.WithLogger(logger),
)
}
Output:
type Option ΒΆ
type Option func(*clientConfig) error
Option configures a *Client at construction. Options are applied in order; later options override earlier ones for the same field.
func WithBasicAuth ΒΆ
WithBasicAuth attaches HTTP basic-auth headers to every request. Mutually exclusive with WithBearerToken; later option wins.
func WithBearerToken ΒΆ
WithBearerToken attaches a bearer token to every request. Mutually exclusive with WithBasicAuth; later option wins.
func WithHTTPClient ΒΆ
WithHTTPClient supplies a custom *http.Client. The client's Transport (if any) is wrapped β auth and user-agent layers are applied on top. Mutually exclusive with WithTransport; later option wins.
func WithHeader ΒΆ
WithHeader adds a default header sent on every request. Multiple calls accumulate. Authoritative for headers set before request-level overrides apply.
func WithLogger ΒΆ
WithLogger sets the *slog.Logger the client uses for HTTP-level logging. Default: a discard handler (silent).
func WithTimeout ΒΆ
WithTimeout sets the *http.Client's Timeout. Zero means no timeout (rely on context deadlines instead). Default: 30 seconds.
func WithTransport ΒΆ
func WithTransport(rt http.RoundTripper) Option
WithTransport supplies the base http.RoundTripper for the client's HTTP transport. Auth and user-agent layers wrap this. Mutually exclusive with WithHTTPClient; later option wins.
func WithUserAgent ΒΆ
WithUserAgent sets the User-Agent header sent on every request. Default: "geoserver-go/v2".
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
examples
|
|
|
error-handling
command
error-handling is a runnable v2 example: demonstrate how to match GeoServer errors with `errors.Is` against package sentinels and inspect the typed *geoserver.APIError via `errors.As`.
|
error-handling is a runnable v2 example: demonstrate how to match GeoServer errors with `errors.Is` against package sentinels and inspect the typed *geoserver.APIError via `errors.As`. |
|
publish-postgis
command
publish-postgis is a runnable v2 example: end-to-end flow that creates a workspace, registers a PostGIS datastore, publishes a feature type, and reads the resulting layer back.
|
publish-postgis is a runnable v2 example: end-to-end flow that creates a workspace, registers a PostGIS datastore, publishes a feature type, and reads the resulting layer back. |
|
style-upload
command
style-upload is a runnable v2 example: register a style's metadata, then upload an SLD body via UploadSLD.
|
style-upload is a runnable v2 example: register a style's metadata, then upload an SLD body via UploadSLD. |
|
workspaces
command
workspaces is a runnable v2 example: list, create, get, and delete a GeoServer workspace using the v2 functional-options constructor and flat *Client.Workspaces sub-client.
|
workspaces is a runnable v2 example: list, create, get, and delete a GeoServer workspace using the v2 functional-options constructor and flat *Client.Workspaces sub-client. |
|
internal
|
|
|
testenv
Package testenv holds shared helpers for v2 integration tests.
|
Package testenv holds shared helpers for v2 integration tests. |
|
transport
Package transport contains the HTTP transport algorithms for the v2 GeoServer client.
|
Package transport contains the HTTP transport algorithms for the v2 GeoServer client. |
|
wire
Package wire holds wire-format types shared across GeoServer v2 resource sub-packages.
|
Package wire holds wire-format types shared across GeoServer v2 resource sub-packages. |
|
ows
|
|
|
wcs
Package wcs is the v2 sub-client for the GeoServer WCS service.
|
Package wcs is the v2 sub-client for the GeoServer WCS service. |
|
wfs
Package wfs is the v2 sub-client for the GeoServer WFS service.
|
Package wfs is the v2 sub-client for the GeoServer WFS service. |
|
wms
Package wms is the v2 sub-client for the GeoServer WMS service.
|
Package wms is the v2 sub-client for the GeoServer WMS service. |
|
rest
|
|
|
about
Package about is the v2 sub-client for the GeoServer /rest/about/version resource.
|
Package about is the v2 sub-client for the GeoServer /rest/about/version resource. |
|
acl
Package acl is the v2 sub-client for the GeoServer access-control-list endpoints under /rest/security/acl.
|
Package acl is the v2 sub-client for the GeoServer access-control-list endpoints under /rest/security/acl. |
|
coverages
Package coverages is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/coveragestores/{cs}/coverages resource.
|
Package coverages is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/coveragestores/{cs}/coverages resource. |
|
coveragestores
Package coveragestores is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/coveragestores resource.
|
Package coveragestores is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/coveragestores resource. |
|
datastores
Package datastores is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/datastores resource.
|
Package datastores is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/datastores resource. |
|
featuretypes
Package featuretypes is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/datastores/{ds}/featuretypes resource.
|
Package featuretypes is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/datastores/{ds}/featuretypes resource. |
|
fonts
Package fonts is the v2 sub-client for the GeoServer /rest/fonts endpoint.
|
Package fonts is the v2 sub-client for the GeoServer /rest/fonts endpoint. |
|
gwc
Package gwc is the v2 sub-client for the GeoWebCache REST endpoints at `/gwc/rest/` β universal for any GeoServer deployment serving map tiles.
|
Package gwc is the v2 sub-client for the GeoWebCache REST endpoints at `/gwc/rest/` β universal for any GeoServer deployment serving map tiles. |
|
imports
Package imports is the v2 sub-client for the GeoServer Importer extension at `/rest/imports`.
|
Package imports is the v2 sub-client for the GeoServer Importer extension at `/rest/imports`. |
|
layergroups
Package layergroups is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/layergroups resource.
|
Package layergroups is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/layergroups resource. |
|
layers
Package layers is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/layers resource.
|
Package layers is the v2 sub-client for the GeoServer /rest/workspaces/{ws}/layers resource. |
|
logging
Package logging is the v2 sub-client for the GeoServer /rest/logging endpoint β singleton configuration for the active log4j profile and stdout logging.
|
Package logging is the v2 sub-client for the GeoServer /rest/logging endpoint β singleton configuration for the active log4j profile and stdout logging. |
|
monitor
Package monitor is the v2 sub-client for the GeoServer /rest/monitor/requests endpoint β read-only audit log of OWS and REST requests handled by the server.
|
Package monitor is the v2 sub-client for the GeoServer /rest/monitor/requests endpoint β read-only audit log of OWS and REST requests handled by the server. |
|
namespaces
Package namespaces is the v2 sub-client for the GeoServer /rest/namespaces resource.
|
Package namespaces is the v2 sub-client for the GeoServer /rest/namespaces resource. |
|
resources
Package resources is the v2 sub-client for the GeoServer Resource REST API at /rest/resource/{path}.
|
Package resources is the v2 sub-client for the GeoServer Resource REST API at /rest/resource/{path}. |
|
security
Package security is the v2 sub-client for the GeoServer security subsystem β users, groups, roles, and user-role assignment under /rest/security.
|
Package security is the v2 sub-client for the GeoServer security subsystem β users, groups, roles, and user-role assignment under /rest/security. |
|
services
Package services is the v2 sub-client for GeoServer's per-service OWS configuration endpoints β `/rest/services/{wms,wfs,wcs,wmts}/settings`.
|
Package services is the v2 sub-client for GeoServer's per-service OWS configuration endpoints β `/rest/services/{wms,wfs,wcs,wmts}/settings`. |
|
settings
Package settings is the v2 sub-client for the GeoServer /rest/settings resource β the global server configuration document covering service metadata (charset, online-resource), JAI tunables, and coverage-access tuning.
|
Package settings is the v2 sub-client for the GeoServer /rest/settings resource β the global server configuration document covering service metadata (charset, online-resource), JAI tunables, and coverage-access tuning. |
|
styles
Package styles is the v2 sub-client for the GeoServer /rest/styles and /rest/workspaces/{ws}/styles resources.
|
Package styles is the v2 sub-client for the GeoServer /rest/styles and /rest/workspaces/{ws}/styles resources. |
|
system
Package system is the v2 sub-client for GeoServer's server-management endpoints under /rest β currently `POST /rest/reload` and `POST /rest/reset`.
|
Package system is the v2 sub-client for GeoServer's server-management endpoints under /rest β currently `POST /rest/reload` and `POST /rest/reset`. |
|
templates
Package templates is the v2 sub-client for the GeoServer /rest/.../templates endpoint family.
|
Package templates is the v2 sub-client for the GeoServer /rest/.../templates endpoint family. |
|
urlchecks
Package urlchecks is the v2 sub-client for the GeoServer URL External Access Checks endpoint at /rest/urlchecks.
|
Package urlchecks is the v2 sub-client for the GeoServer URL External Access Checks endpoint at /rest/urlchecks. |
|
wfstransforms
Package wfstransforms is the v2 sub-client for the GeoServer XSLT-based WFS output transforms at /rest/services/wfs/transforms.
|
Package wfstransforms is the v2 sub-client for the GeoServer XSLT-based WFS output transforms at /rest/services/wfs/transforms. |
|
wmslayers
Package wmslayers is the v2 sub-client for GeoServer's cascaded WMS layers β published references to remote WMS server layers served through the local GeoServer.
|
Package wmslayers is the v2 sub-client for GeoServer's cascaded WMS layers β published references to remote WMS server layers served through the local GeoServer. |
|
wmsstores
Package wmsstores is the v2 sub-client for the GeoServer cascaded WMS store endpoint at /rest/workspaces/{ws}/wmsstores.
|
Package wmsstores is the v2 sub-client for the GeoServer cascaded WMS store endpoint at /rest/workspaces/{ws}/wmsstores. |
|
wmtslayers
Package wmtslayers is the v2 sub-client for GeoServer's cascaded WMS layers β published references to remote WMS server layers served through the local GeoServer.
|
Package wmtslayers is the v2 sub-client for GeoServer's cascaded WMS layers β published references to remote WMS server layers served through the local GeoServer. |
|
wmtsstores
Package wmtsstores is the v2 sub-client for the GeoServer cascaded WMS store endpoint at /rest/workspaces/{ws}/wmtsstores.
|
Package wmtsstores is the v2 sub-client for the GeoServer cascaded WMS store endpoint at /rest/workspaces/{ws}/wmtsstores. |
|
workspaces
Package workspaces is the v2 sub-client for the GeoServer /rest/workspaces resource.
|
Package workspaces is the v2 sub-client for the GeoServer /rest/workspaces resource. |