FileBufferResource
Introduction
File Buffer Resource.
Hosts the API for:
Importing new files into WASDI from data providers (download).
Publishing bands on GeoServer.
Sharing files between workspaces.
All endpoints are under the base path /filebuffer.
All endpoints require a valid session via the x-session-token header. The import (POST) endpoint additionally requires a valid active subscription.
Common Models
PrimitiveResult: intValue, stringValue, doubleValue, boolValue
ImageImportViewModel: fileUrl, name, provider, workspace, bbox, parent, volumeName, volumePath, platform
RabbitMessageViewModel: messageCode, messageResult, payload, workspaceId
APIs
GET /filebuffer/download
Description: Deprecated convenience wrapper around
POST /filebuffer/download. Accepts the same parameters as query strings and delegates to the POST version. Kept for backward compatibility.HTTP Verb: GET
Headers: x-session-token
Query params: - fileUrl (string, optional) — URL of the file to import - name (string, optional) — target file name - provider (string, optional) — data provider code; defaults to the node default provider - workspace (string, required) — target workspace ID - bbox (string, optional) — WKT footprint / bounding box - parent (string, optional) — process workspace ID of the parent process - platform (string, optional) — satellite platform type (e.g.
S1,S2)Body: none
Success: - 200 OK, body: PrimitiveResult (boolValue=true, stringValue=processObjId or
"DONE"if already present)Notes: - Delegates entirely to
POST /filebuffer/download; see that endpoint for full behaviour and return codes.Return codes: - Same as POST /filebuffer/download
POST /filebuffer/download
Description: Triggers an asynchronous import of a remote file into a WASDI workspace. Before starting the download, the server checks whether the file is already available on the target node and, if so, returns immediately with
DONEwithout re-downloading. Requires the user to have write access to the workspace and a valid active subscription. Also validates that the user is allowed to access the satellite mission of the product.HTTP Verb: POST
Headers: x-session-token
Query params: none
Body: ImageImportViewModel (required): fileUrl, name, provider, workspace, bbox, parent, platform, volumeName, volumePath
Success: - 200 OK, body: PrimitiveResult (boolValue=true, stringValue=processObjId when enqueued; stringValue=``”DONE”`` when already available)
Notes: - If
provideris empty, the node’s default provider is used. - Ifplatformis empty, it is inferred from the file name. - Returns boolValue=false with intValue set to an HTTP-like status code on failure rather than a proper HTTP error response.Return codes: - 200 OK (check boolValue; intValue carries the HTTP status on error) - 200 OK with intValue=401 (invalid session, no valid subscription, or no mission access) - 200 OK with intValue=403 (no workspace write access) - 200 OK with intValue=500 (server error)
GET /filebuffer/publishband
Description: Publishes a specific band of a product on GeoServer. If the band has already been published, returns the existing layer information immediately via a RabbitMessageViewModel without re-publishing. Otherwise enqueues an asynchronous PUBLISHBAND launcher operation. An optional default style can be supplied; if omitted, any default style stored in the product metadata is used.
HTTP Verb: GET
Headers: x-session-token
Query params: - fileUrl (string, required) — file name of the product - workspace (string, required) — workspace ID containing the product - band (string, required) — name of the band to publish - style (string, optional) — GeoServer style to apply; falls back to the product’s default style - parent (string, optional) — process workspace ID of the parent process
Body: none
Success: - 200 OK, body: RabbitMessageViewModel
Notes: - Returns
nullon invalid session, no workspace access, or product not found (does not return an HTTP error code).Return codes: - 200 OK (null body on session/access/product failures)