Jump to main content

##

# TCPIP_HTTP_PostNameRead Function

## C

    HTTP_READ_STATUS TCPIP_HTTP_PostNameRead(
        HTTP_CONN_HANDLE connHandle,
        uint8_t* cData,
        uint16_t wLen
    );

## Description

This function reads a name from a URL encoded string in the TCP buffer. This function is meant to be called from an TCPIP_HTTP_PostExecute 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 over the maximum length of data expected to be read.

This function will read until the next '=' character, which indicates the end of a name parameter. It assumes that the front of the buffer is the beginning of the name parameter to be read.

This function properly updates pHttpCon->byteCount by decrementing it by the number of bytes read. It also removes the delimiting '=' from the buffer.

## Preconditions

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

## Parameters

Parameters | Description
--- | ---
connHandle | HTTP connection handle.
cData | Where to store the name once it is read.
wLen | How many bytes can be written to cData.

## Returns

-HTTP_READ_OK - Nmae was successfully read. -HTTP_READ_TRUNCATED - Entire name could not fit in the buffer, so the value was truncated and data has been lost. -HTTP_READ_INCOMPLETE - Entire name was not yet in the buffer, so call this function again later to retrieve.

## Remarks

None.