webapi.txt: clear up underspecified items, replace 'webpassword' paragraph

with a section about our expected plans for #98, add more introductory text
to the sections on manipulate-file vs manipulate-directory.
This commit is contained in:
Brian Warner 2007-08-15 19:04:47 -07:00
parent 4f2244bfdd
commit 31bfb3950a

View File

@ -7,8 +7,12 @@ on the local host can connect. Using
"ssl:8011:privateKey=mykey.pem:certKey=cert.pem" would run an SSL server. See "ssl:8011:privateKey=mykey.pem:certKey=cert.pem" would run an SSL server. See
twisted.application.strports for more details. twisted.application.strports for more details.
If $NODEDIR/webpassword exists, it will be used (somehow) to require HTTP In this release, anyone who can connect to this port will be able to use the
Digest Authentication for all webserver connections. XXX specify how vdrive. Authentication will be added in a near-future release, probably by
having the node generate an unguessable prefix which should be inserted
before the 'vdrive' segment in the URLS described below, and writing this
nonce to a read-by-owner-only file in $NODEDIR. Please see ticket #98 for
details.
== vdrive == == vdrive ==
@ -55,9 +59,9 @@ control how what we want to do with the data and how it should be presented.
In the following examples "$URL" is a shorthand for a URL like the ones In the following examples "$URL" is a shorthand for a URL like the ones
described above, with "vdrive/" as the top level, followed by a described above, with "vdrive/" as the top level, followed by a
slash-separated sequence of file or directory names. "$NEWURL" is a slash-separated sequence of directory names, ending with the name of a file
shorthand for a URL pointing to a location in the vdrive where currently or a directory. "$NEWURL" is a shorthand for a URL pointing to a location in
nothing exists. the vdrive where currently nothing exists.
GET $URL GET $URL
@ -143,6 +147,10 @@ nothing exists.
=== Manipulating files by name === === Manipulating files by name ===
In these examples, $NEWURL is specifically defined to point to a location in
the vdrive where currently nothing exists, and will be used to refer to a
file rather than a directory.
PUT $NEWURL PUT $NEWURL
This uploads a file to the given place in the vdrive. It will create This uploads a file to the given place in the vdrive. It will create
@ -158,6 +166,9 @@ nothing exists.
=== Manipulating directories by name === === Manipulating directories by name ===
In this section, $URL and $NEWURL specifically refer to directories, rather
than files.
PUT $NEWURL?t=mkdir PUT $NEWURL?t=mkdir
Create a new empty directory at the given path. The HTTP response contains Create a new empty directory at the given path. The HTTP response contains
@ -166,11 +177,14 @@ nothing exists.
GET $URL?t=rename-form&name=$CHILDNAME GET $URL?t=rename-form&name=$CHILDNAME
This provides a useful facility to browser-based user interfaces. It This provides a useful facility to browser-based user interfaces. It
returns a page containing a form targetting the "POST $URL t=rename" returns a page containing a form targetting the "POST $URL t=rename"
functionality described below, with the provided $CHILDNAME present in the functionality described below, with the provided $CHILDNAME present in the
'from_name' field of that form. I.e. this presents a form offering to 'from_name' field of that form. I.e. this presents a form offering to
rename $CHILDNAME, requesting the new name, and submitting POST rename. rename $CHILDNAME, requesting the new name, and submitting POST rename.
Note that this can be used to rename both files and directories, but the
GET request itself is always directed to the directory containing the
object to be renamed.
== URIs == == URIs ==
@ -196,8 +210,9 @@ above, with "uri/" as the top level, followed by a URI.
Note that since tahoe URIs may contain slashes (in particular, dirnode URIs Note that since tahoe URIs may contain slashes (in particular, dirnode URIs
contain a FURL, which resembles a regular HTTP URL and starts with pb://), contain a FURL, which resembles a regular HTTP URL and starts with pb://),
when URIs are used in this form, they must be specially quoted. All slashes when URIs are used in this form, they must be specially quoted. All slashes
in the URI must be replaced by '!' characters. XXX consider changing the in the URI must be replaced by '!' characters. The intent is to remove this
allmydata.org uri format to relieve the user of this requirement. unpleasant requirement in a future release: please see ticket #102 for
details.
GET $URI_URL GET $URI_URL
GET $URI_URL?t=json GET $URI_URL?t=json