Programmer : Connector Programmer : Push API HTTP Level : Push API at the HTTP level
 
Push API at the HTTP level
 
HTTP command parameters
HTTP methods
HTTP encoding
HTTP command response
HTTP time out
HTTP command parameters
Parameters can be sent to the server in different ways using either [URL] or [FORM].
Parameter
Description
URL
The parameter in the request URL, for example: ...../addDocument?uri='file://mydir/file1.doc'
FORM
The parameter is part of the form data
The required way is specified in the command description.
HTTP methods
The HTTP methods used are the following:
Parameter
Description
GET
The GET method
POST
The POST method can be encoded as:
?multipart/form-data content-type (RFC 2388), or application/x-www-form-urlencoded
?application/octet-stream (for xxx_monopart commands)
This document describes the HTTP POST method.
HTTP encoding
When dealing with text (for example, metadata key or values), the only accepted encoding is UTF-8. No other encoding is supported.
HTTP command response
The processing of HTTP Push API operations may be asynchronous. This means that requested add or delete operations are accepted but we do not know exactly when they will be performed. However, errors may occur at a lower level, so here is a description of the default HTTP responses.
HTTP Response
Description
OK (200)
No problem during parameters de-serialization process.
NO_CONTENT (204)
No content.
20X
Helpers should consider 204 and all 20X statuses as OK.
BAD_REQUEST (400)
An error occurred while parameters were parsed or during command treatment. The body of the result contains the error description (see below for the xml format of the error description).
METHOD_NOT_ALLOWED (405)
The use of the POST and GET methods is strict with the HTTP Push API. Only the specified methods are authorized for each command.
UNAUTHORIZED (401)
The access to connector operations through HTTP is protected using basic authentication, and has been forbidden.
INTERNAL_ERROR (500)
An unexpected error occurred on the server side.
HTTP time out
The HTTP TimeOut should be set to infinite in the event of the server being busy at request time. This prevents the connector from retrying to connect to the server.