TCPIP_HTTP_NET_ConnectionPostValueRead Function

C

TCPIP_HTTP_NET_READ_STATUS TCPIP_HTTP_NET_ConnectionPostValueRead(
    TCPIP_HTTP_NET_CONN_HANDLE connHandle, 
    uint8_t* cData, 
    uint16_t wLen
);

Description

This function reads a value from a URL encoded string in the network transport buffer. This function is meant to be called from a template_ConnectionPostExecute() callback to facilitate easier parsing of incoming data. This function also prevents buffer overflows by forcing the programmer to indicate how many bytes are expected. At least two extra bytes are needed in cData above the maximum length of data expected to be read.

This function will read until the next '&' character, which indicates the end of a value parameter. It assumes that the front of the buffer is the beginning of the value parameter to be read. If pHttpCon->byteCount indicates that all expected bytes are in the buffer, it assumes that all remaining data is the value and acts accordingly.

This function properly updates pHttpCon->byteCount by decrementing it by the number of bytes read. The terminating '&' character is also removed from the buffer.

Preconditions

The front of the network transport buffer is the beginning of a name parameter, and the rest of the network transport buffer contains a URL-encoded string with a name parameter terminated by a '=' character.

Parameters

ParametersDescription
connHandleHTTP connection handle.
cDataWhere to store the value once it is read.
wLenHow many bytes can be written to cData .

Returns

  • TCPIP_HTTP_NET_READ_OK - Value was successfully read.

  • TCPIP_HTTP_NET_READ_TRUNCTATED - Entire value could not fit in the buffer, so the value was truncated and data has been lost.

  • TCPIP_HTTP_NET_READ_INCOMPLETE - Entire value was not yet in the buffer, so call this function again later to retrieve.

Remarks

None.