[Imported from Trac: page Extensions, version 2]

nejucomo 2007-10-14 05:37:37 +00:00
parent e0ffd148cf
commit da11fceff7

@ -1,2 +1,26 @@
``FIXME:'' Put stuff here.
# Extension Development
Tahoe has a programmatic API which enables building custom applications on top of the storage infrastructure. This ``RESTful'' interface uses HTTP, so extensions can be implemented as separate processes across a network.
* The [/trac/tahoe/browser/docs/webapi.txt webapi.txt] document shows how to control a Tahoe node programmatically.
## Known Extensions
None known yet...
## Extension Implementation Issues
### HTTP methods
The api relies on four HTTP methods defined as per the standard `GET, POST, PUT, and DELETE`, which map intuitively to storage operations.
Although these are standard HTTP methods, some clients do not offer good support for them.
* The following clients are known to support all methods:
* [curl](http://curl.haxx.se/) is an open source client which supports arbitrary methods with the '-X' option.
* The following clients do not seem to support either `PUT` and `DELETE`:
* Python 2.5's urllib module. (Not verified.)
* We have not yet determined if the following have support for arbitrary methods:
* Common web browsers.
* Python 2.5's httplib.