TCPIP_HTTP_NET_ConnectionPostReadPair Macro

C

#define TCPIP_HTTP_NET_ConnectionPostReadPair(connHandle, cData, wLen) \
    TCPIP_HTTP_NET_ConnectionPostValueRead(connHandle, cData, wLen)

Description

Reads a name and value pair from a URL encoded string in the network transport buffer. This function is meant to be called from an 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 2 extra bytes are needed in cData over 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 name parameter to be read.

This function properly updates the connection byteCount (see TCPIP_HTTP_NET_ConnectionByteCountGet) by decrementing it by the number of bytes read. It also removes the delimiting '&' from the buffer.

Once complete, two strings will exist in the cData buffer. The first is the parameter name that was read, while the second is the associated value.

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 and a value parameter terminated by a '&'.

Parameters

ParametersDescription
connHandleHTTP connection handle.
cDataWhere to store the name and value strings once they are read.
wLenHow many bytes can be written to cData.