headers.h
117 );
fiftyoneDegreesHeaders * fiftyoneDegreesHeadersCreate(bool useUpperPrefixedHeaders, void *state, fiftyoneDegreesHeadersGetMethod get)
Creates a new headers instance configured with the unique HTTP names needed from evidence.
size_t fiftyoneDegreesHeadersSize(int count)
Returns the number of bytes that will be allocated for a headers structure created using the fiftyone...
#define FIFTYONE_DEGREES_HEADERS_MEMBERS
Count of the number of pseudo headers.
Definition: headers.h:136
size_t nameLength
Length of the name string excluding the terminating null.
Definition: headers.h:128
const char * name
Name of the header or pseudo header field as a null terminated string.
Definition: headers.h:126
Array of items of type fiftyoneDegreesHeaderSegment used to easily access and track the size of the a...
Definition: headers.h:117
fiftyoneDegreesHeader * fiftyoneDegreesHeadersGetHeaderFromUniqueId(fiftyoneDegreesHeaders *headers, fiftyoneDegreesHeaderID uniqueId)
Gets a pointer to the header in the headers structure with a unique id matching the one provided.
Null or PSEUDO_HEADER_SEP terminated string segment within a header.
Definition: headers.h:109
void fiftyoneDegreesHeadersFree(fiftyoneDegreesHeaders *headers)
Frees the memory allocated by the fiftyoneDegreesHeadersCreate method.
Used to store a handle to the underlying item that could be used to release the item when it's finish...
Definition: collection.h:308
size_t length
Length of the segment in the name strings without the terminating character.
Definition: headers.h:111
Evidence key value pair structure which combines the prefix, key and value.
Definition: evidence.h:160
Array of items of type fiftyoneDegreesHeader used to easily access and track the size of the array.
Definition: headers.h:144
fiftyoneDegreesHeaderSegmentArray * segments
Segments within the name.
Definition: headers.h:130
Header structure to identify a header that either comes directly from the data set,...
Definition: headers.h:125
bool fiftyoneDegreesHeadersIsHttp(void *state, fiftyoneDegreesEvidenceKeyValuePair *pair)
Determines if the key of an evidence pair is an HTTP header.
bool isDataSet
True if the header originates from the data set.
Definition: headers.h:132
fiftyoneDegreesHeaderArray fiftyoneDegreesHeaders
Array of headers used to easily access and track the size of the array.
Definition: headers.h:144
int fiftyoneDegreesHeaderGetIndex(fiftyoneDegreesHeaders *headers, const char *httpHeaderName, size_t length)
Provides the integer index of the HTTP header name.
#define FIFTYONE_DEGREES_ARRAY_TYPE(t, m)
Simple array structure definition macro used for generic types.
Definition: array.h:48
long(* fiftyoneDegreesHeadersGetMethod)(void *state, uint32_t index, fiftyoneDegreesCollectionItem *nameItem)
Gets the unique id and name of the header at the requested index.
Definition: headers.h:159
const char * segment
Segment in the name string.
Definition: headers.h:110
bool fiftyoneDegreesHeadersIsPseudo(const char *headerName)
Check if a header is a pseudo header.