Resources

/resource</path/to/resource>

Method Action Status code Parameters
GET Download a resource, list contents of directory, or show formatted resource metadata. 200 operation (default | metadata); format (html | xml | json)
HEAD Show resource metadata in HTTP headers. 200  
PUT Upload/move/copy a resource, create directories on the fly (overwrite if exists). For move/copy operations, place source path in body. Copying is not supported for directories. 200 (exists) 201 (new) operation (default | copy | move)
DELETE Delete a resource (recursively if directory) 200  

Exceptions

Exception Status code
GET or DELETE for a resource that does not exist 404
PUT to directory 405
PUT method=copy with source directory 405
PUT with source path that doesn’t exist 404
POST 405

Headers

Header Description
Last-Modified When resource was last modified.
Content-Type Will guess mime-type from extension or content.
Resource-Type (custom) directory | resource
Resource-Parent (custom) Path to parent

Format

Examples are given in XML. The JSON and HTML formats are analogue.

Metadata

<ResourceMetaData>
   <name> nameOfFile </name>
   <parent> <path> path/to/parent </path>
        <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate"
   href="http://localhost:8080/geoserver/rest/resource/path/to/parent?operation=metadata&format=xml"
         type="application/xml"/>
   </parent>
   <lastModified> date </lastModified>
   <type> undefined | resource | directory </type>
</ResourceMetaData>

Directories

<ResourceDirectory>`
   <name> nameOfDirectory </name>
   <parent> <path> path/to/parent </path>
        <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate"
   href="http://localhost:8080/geoserver/rest/resource/path/to/parent?operation=metadata&format=xml"
         type="application/xml"/>
   </parent>
   <lastModified> date </lastModified>
   <children>
       <child>
               <name> ... </name>
               <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate"
                href="http://localhost:8080/geoserver/rest/resource/path/to/child"/>
       </child>
       <child>
               ...
       </child>
       ...
   </children>`
</ResourceDirectory>