wiki:Extensions

Version 2 (modified by nejucomo, at 2007-10-14T05:37:37Z) (diff)

--

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 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 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.