The HTTPServiceRequest class / com.HTTPServiceRequest methods |
Sends and HTTP response with data of a BYTE variable.
sendDataResponse( code INTEGER, desc STRING, data BYTE )
The sendDataResponse() method performs the HTTP response by sending the status (code) and description (desc), followed by the headers previously set and binary data contained in the BYTE program variable as body.
It is important for the server to return a correct status code, following the HTTP standards, otherwise the client may fail to interprete the response. For instance, if the request is malformed, the server should send an HTTP response with the code of 400 (Bad Request). See HTTP status codes (wikipedia) for more details about common HTTP response codes.
The data parameter is defined as a BYTE and must be located in memory and not NULL, otherwise the operation fails.
The default Content-Type header is application/octet-stream, but it can be changed to any other mime type. For example: image/jpeg.
In HTTP 1.1, if the body size is greater than 32k, the response will be sent in several chunks of the same size.
If the description is NULL, a default description according to the status code is sent.
New incoming requests can be retrieved again with the com.WebServiceEngine.GetHTTPServiceRequest() method.
In case of error, the method throws an exception and sets the STATUS variable. Depending on the error, a human-readable description of the problem is available in the SQLCA.SQLERRM register. See Error handling in GWS calls (STATUS).
The INT_FLAG variable is checked during GWS API call to handle program interruptions, for more details, see Interruption handling in GWS calls (INT_FLAG)