= 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: * [http://curl.haxx.se/ 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}}}: * ... * We have not yet determined if the following have support for arbitrary methods: * Common web browsers. * Python 2.5's stdlib: * {{{httplib}}} * {{{urllib}}}