Managing BlobStores through the REST API¶
The REST API for BlobStore management provides a RESTful interface through which clients can programatically add, modify, or remove BlobStore configurations.
BlobStores list¶
/rest/blobstores.xml
Method |
Action |
Return Code |
Formats |
---|---|---|---|
GET |
Return the list of available blobstores |
200 |
XML, JSON |
POST |
405 |
||
PUT |
405 |
||
DELETE |
400 |
Sample request:
curl -u geowebcache:secured "http://localhost:8080/geowebcache/rest/blobstores"
Sample response:
<blobStores>
<blobStore>
<name>defaultCache</name>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="http://localhost:8080/geowebcache/rest/blobstores/defaultCache.xml" type="text/xml"/>
</blobStore>
</blobStores>
BlobStore Operations¶
/rest/blobstores/blobstore.xml
Method |
Action |
Return Code |
Formats |
---|---|---|---|
GET |
Return the XML representation of the BlobStore |
200 |
XML, JSON |
POST |
405 |
||
PUT |
Add a new BlobStore or modify the definition/configuration of a BlobStore. |
200 |
XML, JSON |
DELETE |
Delete a BlobStore |
200 |
Representations:
REST API for BlobStores, cURL Examples¶
The examples in this section use the cURL utility, which is a handy command line tool for executing HTTP requests and transferring files. Though cURL is used the examples apply to any HTTP-capable tool or library.
Add BlobStore¶
Given a blobstore.xml file as the following:
<FileBlobStore default="false">
<id>blobStore1</id>
<enabled>false</enabled>
<baseDirectory>/tmp/blobStore1</baseDirectory>
<fileSystemBlockSize>4096</fileSystemBlockSize>
</FileBlobStore>
curl -v -u geowebcache:secured -XPUT -H "Content-type: application/xml" -d @blobstore.xml "http://localhost:8080/geowebcache/rest/blobstores/blobStore1.xml"
Or if using the GeoServer integrated version of GeoWebCache:
curl -v -u user:password -XPUT -H "Content-type: application/xml" -d @blobstore.xml "http://localhost:8080/geoserver/gwc/rest/blobstores/blobStore1.xml"
Note
To add other types of blobstores, refer to the blobstore XML listed for that type under BlobStore configuration.
Modify BlobStore¶
Now, make some modifications to the blobstore definition on the blobstore.xml file:
<FileBlobStore default="false">
<id>blobStore1</id>
<enabled>true</enabled>
<baseDirectory>/var/opt/gwc/storage</baseDirectory>
<fileSystemBlockSize>2048</fileSystemBlockSize>
</FileBlobStore>
curl -v -u geowebcache:secured -XPUT -H "Content-type: application/xml" -d @blobstore.xml "http://localhost:8080/geowebcache/rest/blobstores/blobStore1.xml"
Delete BlobStore¶
Finally, to delete a blobstore, use the HTTP DELETE method against the blobstore configuration:
curl -v -u geowebcache:secured -XDELETE "http://localhost:8080/geoserver/gwc/rest/blobstores/blobStore1.xml"