CVW Collaborative Virtual Workspace

CVW Document Server v1.5 HTTP Protocol Specification

Font Legend:

Command

Description

Headers Sent

Body Sent

Returned

Status Code/Status Message

Returned Headers

Returned Body

GET /desc/docID HTTP/1.0 Gets document description for a given docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None.

200 Success. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

Document description
400 Document ID not found. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Document Not Found</h1><p>This document could not be located, please try again.<p><hr><p><I>CVW-DocServ</I>
GET /editors/docID HTTP/1.0 Gets document editor data (revisers/revision dates/revision comments) for a given docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None.

200 Success. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

Revision history consisting of reviser, revision date and revision comment triad. Each piece of data is on a separate line. Revision triads are separated by

$X$-COMMENT-SEP tag and ended by

$X$-EDITORS-END tag.

400 Document ID not found. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Document Not Found</h1>

<p>This document could not be located, please try again.<p><hr><p><I>CVW-DocServ</I>

GET /transtable/ HTTP/1.0 Gets Doc Server's translation table consisting of recognized MIME type/file extension/description sets. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None.

200 Success. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

Table size (number of total elements in translation table) followed by table consisting of MIME type, associated file extension and description. Each piece of data is on a separate line.
400 No Translation Table. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Translation Table Not Set</h1>

<p>The Document Server has no translation table set. Please contact your system administrator and follow basic installation procedures before using this document server.<p><hr><p><I>CVW-DocServ</I>

400 Error reading translation table. <h1>Error Reading Translation Table</h1>

<p>Translation table could not be read. Contact system administrator.<p>

<hr><p><I>CVW-DocServ</I>

 

GET /typedescco/ HTTP/1.0 Gets document MIME type and checkout status for the set of document ID's specified as Document-ID: header values. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

Document-ID: List of docIDs

None.

200 Success. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

List of MIME types and checkout status

(1 == checked out) for each respective docID, one per line. The first half of the list consists of MIME type data, the second half consists of checkout status for each respective docID. If docID can not be found, Unknown is entered into the list in place of the document's MIME type and checkout status.

GET /typedesc/ HTTP/1.0 Gets document MIME type for the set of document ID’s specified as Document-ID: header values. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

Document-ID: List of docIDs

None.

200 Success. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

List of MIME types for each respective docID, one per line. If docID can not be found, Unknown is entered into the list in place of the document's MIME type.
GET /stat/docID HTTP/1.0 Gets document information for a given docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None.

200 Success. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

Document-Title: Document title

Document-Revisions: Number of revisions

Document-Created-On: Creation date

Document-Modified-On: Modification date

Document-Access-On: Last access date

Document-Status: CO or CI (Checkedout/Checkedin)

Document-Owner: Document creator

Document-Checkout-Owner: User who has document checked out

Document-Type: Document MIME type

Document-Extensions: Associated file extension

Document-MIME-Desc: MIME type description

<title>Information on Document title </title>

Title: Document title

Revisions: Number of revisions

Created: Creation date

Modified: Modification date

Last Access: Last access date

Status: Checked Out or Available

Name of user who has document checked out.

Options: URL to checkout document | URL to view document | URL to return to index

The data in this body is useful primarily for debugging purposes since all pertinent data can be obtained via the header.

400 Document ID not found. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Document Not Found</h1>

<p>This document could not be located, please try again.<p><hr><p><I>CVW-DocServ</I>

GET /lockdocs/9999 HTTP/1.0 Gets the subset of locked document ID's from the set of document ID's supplied in the body. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

Set of docIDs, one per line

200 Success. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

Set of locked docIDs, one per line.
400 No documents currently locked. None.
GET /userinfo/9999 HTTP/1.0 Gets the set of document ID’s for all documents owned by the requesting user. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None.

200 Success. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

Set of docIDs for all documents owned by user name.
400 No documents to that user. None.

 

GET /doc/docID HTTP/1.0 Gets a document from the store, specified by docID and locks the document signifying the document is checked out to the requesting user. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None.

200 Success. (With user agent as Mozilla) HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

Byte stream consisting of document content.
201 Success. (With user agent other than Mozilla)
400 Document could not be read. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Not Found</h1><p>Document could not be read.<p><hr><p><I>CVW-DocServ</I>
403 Document is locked. <h1>Document In Use</h1><p>Document is currently in use by another user.<p><hr><p><I>CVW-DocServ</I>
404 Document not found. <h1>Not Found</h1><p>Document was not found.<p><hr><p><I>CVW-DocServ</I>
GET /view/docID HTTP/1.0 Gets a document from the store, specified by docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None.

200 Success. (With user agent as Mozilla) HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/plain

Content-Length: Content length in bytes

Byte stream consisting of document content.
201 Success. (With user agent other than Mozilla)
400 Document could not be read. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Not Found</h1><p>Document could not be read.<p><hr><p><I>CVW-DocServ</I>
403 Document is locked. <h1>Document In Use</h1><p>Document is currently in use by another user.<p><hr><p><I>CVW-DocServ</I>
404 Document not found. <h1>Not Found</h1><p>Document was not found.<p><hr><p><I>CVW-DocServ</I>
  Default reply from Document Server.     400 Malformed HTTP Request. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Malformed HTTP Request</h1><p>The incoming request didn't make sense to this server.<p><hr><p><I>CVW-DocServ</I>

 

Command

Description

Headers Sent

Body Sent

Returned

Status Code/Status Message

Returned Headers

Returned Body

PUT /newdoc HTTP/1.0 Add a new document to the store. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

Content-Length: Content length in bytes

Content-Type: Content MIME type

Content-Name: New document name

Byte stream consisting of new document content. 200 Okay. HTTP/HTTPVersion StatusCode StatusMessage

Accepted-As: docID

Document-MIME-Desc: Document MIME type

None.
400 Error while trying to store document. HTTP/HTTPVersion StatusCode StatusMessage
PUT /doc/docID HTTP/1.0 Replace the document in the store specified by docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

Content-Length: Content length in bytes

Byte stream consisting of new document content. 200 Okay. HTTP/HTTPVersion StatusCode StatusMessage

Accepted-As: docID

Document-MIME-Desc: Document MIME type

None.
400 Store ID not found. HTTP/HTTPVersion StatusCode StatusMessage
401 Internal error processing document.
PUT /desc/docIDc HTTP/1.0 Store document description for a given docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

Content-Length: Content length in bytes

Byte stream consisting of new document content. 201 Description set. HTTP/HTTPVersion StatusCode StatusMessage

Accepted-As: docID

Document-MIME-Desc: Document MIME type

None.
404 Store ID not found. HTTP/HTTPVersion StatusCode StatusMessage
PUT /editor/docID HTTP/1.0 Add revision data (reviser/revision date/revision comment) for a given docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

User-Comment: Revision comment

None. 200 Okay. HTTP/HTTPVersion StatusCode StatusMessage None.
400 Store ID not found.
401 Internal error processing document.
  Default reply from Document Server.     400 Malformed HTTP Request. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Malformed HTTP Request</h1><p>The incoming request didn't make sense to this server.<p><hr><p><I>CVW-DocServ</I>

 

Command

Description

Headers Sent

Body Sent

Returned

Status Code/Status Message

Returned Headers

Returned Body

POST /setlock/docID HTTP/1.0 Set the lock for the given document specified by docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None. 201 Okay. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: null

Content-Length: 0

None.
403 Document is already locked.
404 Document ID not found.
POST /clearlogdocID HTTP/1.0 Clear all annotations (revision and descriptive data) for the document specified by docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None. 201 Okay. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: null

Content-Length: 0

None.
403 Document is locked.
404 Document ID not found.
POST /delete/docID HTTP/1.0 Delete the document specified by docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None. 201 Okay. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: null

Content-Length: 0

None.
403 Document is locked.
404 Document ID not found.
POST /changename/docID HTTP/1.0 Change the title of the document specified by docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None. 201 Okay. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: null

Content-Length: 0

None.
403 Document is locked.
404 Document ID not found.
POST /clearlock/docID HTTP/1.0 Clear the lock for the document specified by docID. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None. 201 Okay. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: null

Content-Length: 0

None.
403 Document isn't locked.
404 Document ID not found.
POST /duplicate/docID HTTP/1.0 Duplicates the document specified by docID returning the new docID as the Accepted-As: value in the returned header. User-Agent: Client name

User-Name: User name

Platform-Type: Operating system name

None. 200 Duplicated. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: null

Content-Length: 0

Accepted-As: docID

None.
400 Document could not be stored.
401 Document ID not found.
  Default reply from Document Server.     400 Malformed HTTP Request. HTTP/HTTPVersion StatusCode StatusMessage

Content-Type: text/html

Content-Length: Content length in bytes

<h1>Malformed HTTP Request</h1><p>The incoming request didn't make sense to this server.<p><hr><p><I>CVW-DocServ</I>

Last update: 13 October 2000

This work, including the source code, documentation and related data, is placed into the public domain.
The original author is The MITRE Corporation.

THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AS TO THIS SOFTWARE, OR TO THE ACCURACY, CAPABILITY, EFFICIENCY, OR FUNCTIONING OF THIS SOFTWARE OR ANY DERIVATIVE WORK OR OTHER ITEM MADE, USED, OR SOLD THAT INCORPORATES THIS SOFTWARE. THE AUTHOR OF THIS SOFTWARE ASSUMES NO RESPONSIBILITY FOR ANY CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR REDISTRIBUTION OF THIS SOFTWARE.

Information in this document is subject to change without notice.
Other products and companies referred to herein are trademarks or registered trademarks of their respective companies or mark holders.
SourceForge