Initializing help system before first use

dmphttpput

dmphttpput


Purpose
Make an HTTP PUT request to path within an initialized dmpresource.
Synopsis
function dmphttpput(res:dmpresource, path:text, data:text, result:text):integer
function dmphttpput(res:dmpresource, path:text, data:text, result:text, xhdr:text):integer
Arguments
res 
The dmpresource we want to access.
path 
The path we want to access within the DMP resource, relative to the resource's root URL
data 
Data file to be sent as the request body
result 
File to store the result of the request
xhdr 
Additional headers to add to the request
Return value
The HTTP status code of the request, or 999 on a connection error.
Example
declarations
  res: dmpresource
  httpstatus: integer
end-declarations
dmpinitcomp(res,"Example Component")

httpstatus := dmphttpput(res,'/rest/design/model',
  'modelbody.dat', 'response.dat')
if httpstatus<>200 then
  if res.status<>DMP_OK then
    writeln('DMP Resource error: ',res.lasterror)
  else
    writeln('Unexpected HTTP status code: ',httpstatus)
  end-if
end-if
Further information
1. This function corresponds to the httpput function of the mmhttp module and works in a similar way.
2. The outgoing HTTP request will be automatically augmented with the appropriate credentials for this type of dmpresource.
3. In event of an unexpected failure, the request will be retried the number of times specified by dmp_max_retries if it returned a HTTP status code listed in dmp_retry_error_codes.
4. If this function returns an unexpected HTTP status code, you should check the status attribute of the dmpresource to see whether this was returned from the HTTP webservice or was the result of an error obtaining credentials.