Sophie

Sophie

distrib > Fedora > 20 > x86_64 > media > updates > by-pkgid > c579c38484b8ffa244858626df1128ca > files > 250

libhtp-doc-0.5.6-3.fc20.noarch.rpm

\hypertarget{htp__transaction_8c}{\section{htp\-\_\-transaction.\-c File Reference}
\label{htp__transaction_8c}\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}}
}
{\ttfamily \#include \char`\"{}htp\-\_\-private.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$ \hyperlink{htp__transaction_8c_a38191123e58ad54c815b5291b38ae1ae}{htp\-\_\-tx\-\_\-create} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a92daf5a21d1005ed658239203bab72e2}{htp\-\_\-tx\-\_\-destroy} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
void \hyperlink{htp__transaction_8c_a0d9bedcb7fd819340ebd8e8271263191}{htp\-\_\-tx\-\_\-destroy\-\_\-incomplete} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
int \hyperlink{htp__transaction_8c_a3a9319494924adc6f0de2aae4327964a}{htp\-\_\-tx\-\_\-get\-\_\-is\-\_\-config\-\_\-shared} (const \hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
void $\ast$ \hyperlink{htp__transaction_8c_ad1b7af692ec61ee5863c8d08201335df}{htp\-\_\-tx\-\_\-get\-\_\-user\-\_\-data} (const \hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
void \hyperlink{htp__transaction_8c_a1c4b795d1d8be70fcc32e9396f53ebfb}{htp\-\_\-tx\-\_\-set\-\_\-config} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, \hyperlink{structhtp__cfg__t}{htp\-\_\-cfg\-\_\-t} $\ast$cfg, int is\-\_\-cfg\-\_\-shared)
\item 
void \hyperlink{htp__transaction_8c_a195fca8b26ed5199e79bf7a3205cc8f8}{htp\-\_\-tx\-\_\-set\-\_\-user\-\_\-data} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, void $\ast$user\-\_\-data)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a237e4a69bc6a206016edef0509725fa0}{htp\-\_\-tx\-\_\-req\-\_\-add\-\_\-param} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, \hyperlink{structhtp__param__t}{htp\-\_\-param\-\_\-t} $\ast$param)
\item 
\hyperlink{structhtp__param__t}{htp\-\_\-param\-\_\-t} $\ast$ \hyperlink{htp__transaction_8c_af9d43cb95e78fe6d89a155cab0e475b5}{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$name, size\-\_\-t name\-\_\-len)
\item 
\hyperlink{structhtp__param__t}{htp\-\_\-param\-\_\-t} $\ast$ \hyperlink{htp__transaction_8c_a597e4bb72a38690844b09b44b6edfd77}{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param\-\_\-ex} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, enum \hyperlink{htp__core_8h_a354ef08e972eb03660bbd9a1d311b45f}{htp\-\_\-data\-\_\-source\-\_\-t} source, const char $\ast$name, size\-\_\-t name\-\_\-len)
\item 
int \hyperlink{htp__transaction_8c_a5c878209afdd56456f83c825e55f0542}{htp\-\_\-tx\-\_\-req\-\_\-has\-\_\-body} (const \hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a1d149fa7ccee09db44e098637c2ac4a4}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-header} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$name, size\-\_\-t name\-\_\-len, const char $\ast$value, size\-\_\-t value\-\_\-len, enum \hyperlink{htp__transaction_8h_afbe69252f137edea1897f57803277c15}{htp\-\_\-alloc\-\_\-strategy\-\_\-t} alloc)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_aa3dcb3b6990542fa3e50490abdc08fda}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$method, size\-\_\-t method\-\_\-len, enum \hyperlink{htp__transaction_8h_afbe69252f137edea1897f57803277c15}{htp\-\_\-alloc\-\_\-strategy\-\_\-t} alloc)
\item 
void \hyperlink{htp__transaction_8c_a015fe9ed1cb0afe28e021c27e5c5bb80}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method\-\_\-number} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, enum \hyperlink{htp__core_8h_a5def731ca738b5e96154df2889210a54}{htp\-\_\-method\-\_\-t} method\-\_\-number)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a523a135d64880fbb5731d02ce910bc01}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-uri} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$uri, size\-\_\-t uri\-\_\-len, enum \hyperlink{htp__transaction_8h_afbe69252f137edea1897f57803277c15}{htp\-\_\-alloc\-\_\-strategy\-\_\-t} alloc)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a2d51b78134b9712df2152bf14b812978}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$protocol, size\-\_\-t protocol\-\_\-len, enum \hyperlink{htp__transaction_8h_afbe69252f137edea1897f57803277c15}{htp\-\_\-alloc\-\_\-strategy\-\_\-t} alloc)
\item 
void \hyperlink{htp__transaction_8c_a65467c49a7fd48a7083cb7fb2e66d738}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-number} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, int protocol\-\_\-number)
\item 
void \hyperlink{htp__transaction_8c_af3d8c86e14b6a1c8b8cb0026855ba30f}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-0\-\_\-9} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, int is\-\_\-protocol\-\_\-0\-\_\-9)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_ac4546c71d6e119b0507b4b39068b1c0f}{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const void $\ast$data, size\-\_\-t len)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a13e830ded4af725cc7160b1406023d89}{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data\-\_\-ex} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const void $\ast$data, size\-\_\-t len)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a826efc3ea0032df55461c1067fefda2f}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-headers\-\_\-clear} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_ad9a5f4df3aa359aed3d8b713689ef8b7}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-line} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$line, size\-\_\-t line\-\_\-len, enum \hyperlink{htp__transaction_8h_afbe69252f137edea1897f57803277c15}{htp\-\_\-alloc\-\_\-strategy\-\_\-t} alloc)
\item 
void \hyperlink{htp__transaction_8c_a32fd27cdae4ba9e210d86b267b3d9f21}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-parsed\-\_\-uri} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, \hyperlink{structhtp__uri__t}{htp\-\_\-uri\-\_\-t} $\ast$parsed\-\_\-uri)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a94f6b84283ab7904622010e23c9adf9d}{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-line} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$line, size\-\_\-t line\-\_\-len, enum \hyperlink{htp__transaction_8h_afbe69252f137edea1897f57803277c15}{htp\-\_\-alloc\-\_\-strategy\-\_\-t} alloc)
\item 
void \hyperlink{htp__transaction_8c_a138bfe0a159727cb8a15dd23c38567ad}{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-protocol\-\_\-number} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, int protocol\-\_\-number)
\item 
void \hyperlink{htp__transaction_8c_aab329bdb2bff8170ff8d394659717f0c}{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-code} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, int status\-\_\-code)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a5448d3691eb45ad6f12a3fffbc373d92}{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-message} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$msg, size\-\_\-t msg\-\_\-len, enum \hyperlink{htp__transaction_8h_afbe69252f137edea1897f57803277c15}{htp\-\_\-alloc\-\_\-strategy\-\_\-t} alloc)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_af51ff64d772742097a2f4a1a76e0557f}{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-line} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a0de20cdbee28e01c68f5d79ac35f1c73}{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-header} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const char $\ast$name, size\-\_\-t name\-\_\-len, const char $\ast$value, size\-\_\-t value\-\_\-len, enum \hyperlink{htp__transaction_8h_afbe69252f137edea1897f57803277c15}{htp\-\_\-alloc\-\_\-strategy\-\_\-t} alloc)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a4654dd75275b161e32c69b39f6365f49}{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-headers\-\_\-clear} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a694697230584f925ff39a69d022a9edf}{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const void $\ast$data, size\-\_\-t len)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a219a0b24ed95d84a3fb9ad7c07cac511}{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data\-\_\-ex} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, const void $\ast$data, size\-\_\-t len)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a094a6a35a7a937d160a2785e2e6e3269}{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete\-\_\-partial} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a6b642aabfa0688477a73138803e8a96c}{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_afe2a066b2bd7887debe3146218a1586c}{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-start} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_aed95ccccf477ee8adeb83291a2104156}{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-headers} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_aaaf7174643f67cdb075d45333b6fd7b5}{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-line} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_adcbbf6a88718344b9cbe0c5f508a07ce}{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a9256c1eaab954ec27241d1ad51067b55}{htp\-\_\-tx\-\_\-finalize} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a76675e7e250e24c1ac47c49b4181aff8}{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete\-\_\-ex} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, int hybrid\-\_\-mode)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a55a3a62e1c697127c4b206e75f983386}{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-headers} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
\hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__transaction_8c_a524d59cd184104370ade58fb200f2379}{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-start} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\item 
void \hyperlink{htp__transaction_8c_a0c9f2e85d998104afb653ec4515ffc0f}{htp\-\_\-tx\-\_\-register\-\_\-request\-\_\-body\-\_\-data} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, int($\ast$callback\-\_\-fn)(\hyperlink{structhtp__tx__data__t}{htp\-\_\-tx\-\_\-data\-\_\-t} $\ast$))
\item 
void \hyperlink{htp__transaction_8c_a82f072f41c942d9b78a2a551a24227be}{htp\-\_\-tx\-\_\-register\-\_\-response\-\_\-body\-\_\-data} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx, int($\ast$callback\-\_\-fn)(\hyperlink{structhtp__tx__data__t}{htp\-\_\-tx\-\_\-data\-\_\-t} $\ast$))
\item 
int \hyperlink{htp__transaction_8c_a88c6e5a1d12435394c5bad42cf6fbe5b}{htp\-\_\-tx\-\_\-is\-\_\-complete} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\begin{DoxyAuthor}{Author}
Ivan Ristic \href{mailto:ivanr@webkreator.com}{\tt ivanr@webkreator.\-com} 
\end{DoxyAuthor}


\subsection{Function Documentation}
\hypertarget{htp__transaction_8c_a38191123e58ad54c815b5291b38ae1ae}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-create@{htp\-\_\-tx\-\_\-create}}
\index{htp\-\_\-tx\-\_\-create@{htp\-\_\-tx\-\_\-create}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-create}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-tx\-\_\-t}$\ast$ htp\-\_\-tx\-\_\-create (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a38191123e58ad54c815b5291b38ae1ae}
Creates a new transaction structure.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em connp} & Connection parser pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly created transaction, or N\-U\-L\-L on memory allocation failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a92daf5a21d1005ed658239203bab72e2}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-destroy@{htp\-\_\-tx\-\_\-destroy}}
\index{htp\-\_\-tx\-\_\-destroy@{htp\-\_\-tx\-\_\-destroy}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-destroy}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-destroy (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a92daf5a21d1005ed658239203bab72e2}
Destroys the supplied transaction.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a0d9bedcb7fd819340ebd8e8271263191}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-destroy\-\_\-incomplete@{htp\-\_\-tx\-\_\-destroy\-\_\-incomplete}}
\index{htp\-\_\-tx\-\_\-destroy\-\_\-incomplete@{htp\-\_\-tx\-\_\-destroy\-\_\-incomplete}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-destroy\-\_\-incomplete}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-destroy\-\_\-incomplete (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a0d9bedcb7fd819340ebd8e8271263191}
\hypertarget{htp__transaction_8c_a9256c1eaab954ec27241d1ad51067b55}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-finalize@{htp\-\_\-tx\-\_\-finalize}}
\index{htp\-\_\-tx\-\_\-finalize@{htp\-\_\-tx\-\_\-finalize}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-finalize}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-finalize (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a9256c1eaab954ec27241d1ad51067b55}
\hypertarget{htp__transaction_8c_a3a9319494924adc6f0de2aae4327964a}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-get\-\_\-is\-\_\-config\-\_\-shared@{htp\-\_\-tx\-\_\-get\-\_\-is\-\_\-config\-\_\-shared}}
\index{htp\-\_\-tx\-\_\-get\-\_\-is\-\_\-config\-\_\-shared@{htp\-\_\-tx\-\_\-get\-\_\-is\-\_\-config\-\_\-shared}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-get\-\_\-is\-\_\-config\-\_\-shared}]{\setlength{\rightskip}{0pt plus 5cm}int htp\-\_\-tx\-\_\-get\-\_\-is\-\_\-config\-\_\-shared (
\begin{DoxyParamCaption}
\item[{const {\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a3a9319494924adc6f0de2aae4327964a}
Determines if the transaction used a shared configuration structure. See the documentation for \hyperlink{htp__transaction_8h_a1c4b795d1d8be70fcc32e9396f53ebfb}{htp\-\_\-tx\-\_\-set\-\_\-config()} for more information why you might want to know that.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-C\-F\-G\-\_\-\-S\-H\-A\-R\-E\-D or H\-T\-P\-\_\-\-C\-F\-G\-\_\-\-P\-R\-I\-V\-A\-T\-E. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_ad1b7af692ec61ee5863c8d08201335df}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-get\-\_\-user\-\_\-data@{htp\-\_\-tx\-\_\-get\-\_\-user\-\_\-data}}
\index{htp\-\_\-tx\-\_\-get\-\_\-user\-\_\-data@{htp\-\_\-tx\-\_\-get\-\_\-user\-\_\-data}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-get\-\_\-user\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ htp\-\_\-tx\-\_\-get\-\_\-user\-\_\-data (
\begin{DoxyParamCaption}
\item[{const {\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_ad1b7af692ec61ee5863c8d08201335df}
Returns the user data associated with this transaction.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to user data or N\-U\-L\-L. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a88c6e5a1d12435394c5bad42cf6fbe5b}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-is\-\_\-complete@{htp\-\_\-tx\-\_\-is\-\_\-complete}}
\index{htp\-\_\-tx\-\_\-is\-\_\-complete@{htp\-\_\-tx\-\_\-is\-\_\-complete}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-is\-\_\-complete}]{\setlength{\rightskip}{0pt plus 5cm}int htp\-\_\-tx\-\_\-is\-\_\-complete (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a88c6e5a1d12435394c5bad42cf6fbe5b}
\hypertarget{htp__transaction_8c_a0c9f2e85d998104afb653ec4515ffc0f}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-register\-\_\-request\-\_\-body\-\_\-data@{htp\-\_\-tx\-\_\-register\-\_\-request\-\_\-body\-\_\-data}}
\index{htp\-\_\-tx\-\_\-register\-\_\-request\-\_\-body\-\_\-data@{htp\-\_\-tx\-\_\-register\-\_\-request\-\_\-body\-\_\-data}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-register\-\_\-request\-\_\-body\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-register\-\_\-request\-\_\-body\-\_\-data (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{int($\ast$)({\bf htp\-\_\-tx\-\_\-data\-\_\-t} $\ast$)}]{callback\-\_\-fn}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a0c9f2e85d998104afb653ec4515ffc0f}
Register callback for the transaction-\/specific R\-E\-Q\-U\-E\-S\-T\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-A\-T\-A hook.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & \\
\hline
\mbox{\tt in}  & {\em callback\-\_\-fn} & \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a82f072f41c942d9b78a2a551a24227be}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-register\-\_\-response\-\_\-body\-\_\-data@{htp\-\_\-tx\-\_\-register\-\_\-response\-\_\-body\-\_\-data}}
\index{htp\-\_\-tx\-\_\-register\-\_\-response\-\_\-body\-\_\-data@{htp\-\_\-tx\-\_\-register\-\_\-response\-\_\-body\-\_\-data}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-register\-\_\-response\-\_\-body\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-register\-\_\-response\-\_\-body\-\_\-data (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{int($\ast$)({\bf htp\-\_\-tx\-\_\-data\-\_\-t} $\ast$)}]{callback\-\_\-fn}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a82f072f41c942d9b78a2a551a24227be}
Register callback for the transaction-\/specific R\-E\-S\-P\-O\-N\-S\-E\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-A\-T\-A hook.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & \\
\hline
\mbox{\tt in}  & {\em callback\-\_\-fn} & \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a237e4a69bc6a206016edef0509725fa0}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-add\-\_\-param@{htp\-\_\-tx\-\_\-req\-\_\-add\-\_\-param}}
\index{htp\-\_\-tx\-\_\-req\-\_\-add\-\_\-param@{htp\-\_\-tx\-\_\-req\-\_\-add\-\_\-param}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-add\-\_\-param}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-add\-\_\-param (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{{\bf htp\-\_\-param\-\_\-t} $\ast$}]{param}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a237e4a69bc6a206016edef0509725fa0}
Adds one parameter to the request. T\-His function will take over the responsibility for the provided \hyperlink{structhtp__param__t}{htp\-\_\-param\-\_\-t} structure.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em param} & Parameter pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_af9d43cb95e78fe6d89a155cab0e475b5}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param@{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param}}
\index{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param@{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-param\-\_\-t}$\ast$ htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{name, }
\item[{size\-\_\-t}]{name\-\_\-len}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_af9d43cb95e78fe6d89a155cab0e475b5}
Returns the first request parameter that matches the given name, using case-\/insensitive matching.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em name} & Name data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em name\-\_\-len} & Name data length. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{structhtp__param__t}{htp\-\_\-param\-\_\-t} instance, or N\-U\-L\-L if parameter not found. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a597e4bb72a38690844b09b44b6edfd77}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param\-\_\-ex@{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param\-\_\-ex}}
\index{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param\-\_\-ex@{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param\-\_\-ex}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param\-\_\-ex}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-param\-\_\-t}$\ast$ htp\-\_\-tx\-\_\-req\-\_\-get\-\_\-param\-\_\-ex (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{enum {\bf htp\-\_\-data\-\_\-source\-\_\-t}}]{source, }
\item[{const char $\ast$}]{name, }
\item[{size\-\_\-t}]{name\-\_\-len}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a597e4bb72a38690844b09b44b6edfd77}
Returns the first request parameter from the given source that matches the given name, using case-\/insensitive matching.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em source} & Parameter source (where in request the parameter was located). \\
\hline
\mbox{\tt in}  & {\em name} & Name data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em name\-\_\-len} & Name data length. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{structhtp__param__t}{htp\-\_\-param\-\_\-t} instance, or N\-U\-L\-L if parameter not found. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a5c878209afdd56456f83c825e55f0542}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-has\-\_\-body@{htp\-\_\-tx\-\_\-req\-\_\-has\-\_\-body}}
\index{htp\-\_\-tx\-\_\-req\-\_\-has\-\_\-body@{htp\-\_\-tx\-\_\-req\-\_\-has\-\_\-body}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-has\-\_\-body}]{\setlength{\rightskip}{0pt plus 5cm}int htp\-\_\-tx\-\_\-req\-\_\-has\-\_\-body (
\begin{DoxyParamCaption}
\item[{const {\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a5c878209afdd56456f83c825e55f0542}
Determine if the request has a body.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 if there is a body, 0 otherwise. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_ac4546c71d6e119b0507b4b39068b1c0f}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data@{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data}}
\index{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data@{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const void $\ast$}]{data, }
\item[{size\-\_\-t}]{len}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_ac4546c71d6e119b0507b4b39068b1c0f}
Process a chunk of request body data. This function assumes that handling of chunked encoding is implemented by the container. When you're done submitting body data, invoke a state change (to R\-E\-Q\-U\-E\-S\-T) to finalize any processing that might be pending. The supplied data is fully consumed and there is no expectation that it will be available afterwards. The protocol parsing code makes no copies of the data, but some parsers might.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em data} & Data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em len} & Data length. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a13e830ded4af725cc7160b1406023d89}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data\-\_\-ex@{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data\-\_\-ex}}
\index{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data\-\_\-ex@{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data\-\_\-ex}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data\-\_\-ex}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-process\-\_\-body\-\_\-data\-\_\-ex (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const void $\ast$}]{data, }
\item[{size\-\_\-t}]{len}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a13e830ded4af725cc7160b1406023d89}
\hypertarget{htp__transaction_8c_a1d149fa7ccee09db44e098637c2ac4a4}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-header@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-header}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-header@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-header}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-header}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-header (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{name, }
\item[{size\-\_\-t}]{name\-\_\-len, }
\item[{const char $\ast$}]{value, }
\item[{size\-\_\-t}]{value\-\_\-len, }
\item[{enum {\bf htp\-\_\-alloc\-\_\-strategy\-\_\-t}}]{alloc}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a1d149fa7ccee09db44e098637c2ac4a4}
Set one request header. This function should be invoked once for each available header, and in the order in which headers were seen in the request.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em name} & Name data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em name\-\_\-len} & Name data length. \\
\hline
\mbox{\tt in}  & {\em value} & Value data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em value\-\_\-len} & Value data length. \\
\hline
\mbox{\tt in}  & {\em alloc} & Desired allocation strategy. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a826efc3ea0032df55461c1067fefda2f}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-headers\-\_\-clear@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-headers\-\_\-clear}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-headers\-\_\-clear@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-headers\-\_\-clear}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-headers\-\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-headers\-\_\-clear (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a826efc3ea0032df55461c1067fefda2f}
Removes all request headers associated with this transaction. This function is needed because in some cases the container does not differentiate between standard and trailing headers. In that case, you set request headers once at the beginning of the transaction, read the body (at this point the request headers should contain the mix of regular and trailing headers), clear all headers, and then set them all again.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_ad9a5f4df3aa359aed3d8b713689ef8b7}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-line@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-line}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-line@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-line}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-line}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-line (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{line, }
\item[{size\-\_\-t}]{line\-\_\-len, }
\item[{enum {\bf htp\-\_\-alloc\-\_\-strategy\-\_\-t}}]{alloc}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_ad9a5f4df3aa359aed3d8b713689ef8b7}
Set request line. When used, this function should always be called first, with more specific functions following. Must not contain line terminators.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em line} & Line data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em line\-\_\-len} & Line data length. \\
\hline
\mbox{\tt in}  & {\em alloc} & Desired allocation strategy. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_aa3dcb3b6990542fa3e50490abdc08fda}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{method, }
\item[{size\-\_\-t}]{method\-\_\-len, }
\item[{enum {\bf htp\-\_\-alloc\-\_\-strategy\-\_\-t}}]{alloc}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_aa3dcb3b6990542fa3e50490abdc08fda}
Set transaction request method. This function will enable you to keep track of the text representation of the method.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em method} & Method data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em method\-\_\-len} & Method data length. \\
\hline
\mbox{\tt in}  & {\em alloc} & Desired allocation strategy. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a015fe9ed1cb0afe28e021c27e5c5bb80}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method\-\_\-number@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method\-\_\-number}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method\-\_\-number@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method\-\_\-number}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method\-\_\-number}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-method\-\_\-number (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{enum {\bf htp\-\_\-method\-\_\-t}}]{method\-\_\-number}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a015fe9ed1cb0afe28e021c27e5c5bb80}
Set transaction request method number. This function enables you to keep track how a particular method string is interpreted. This function is useful with web servers that ignore invalid methods; for example, some web servers will treat them as a G\-E\-T.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em method\-\_\-number} & Method number. \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a32fd27cdae4ba9e210d86b267b3d9f21}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-parsed\-\_\-uri@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-parsed\-\_\-uri}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-parsed\-\_\-uri@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-parsed\-\_\-uri}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-parsed\-\_\-uri}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-parsed\-\_\-uri (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{{\bf htp\-\_\-uri\-\_\-t} $\ast$}]{parsed\-\_\-uri}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a32fd27cdae4ba9e210d86b267b3d9f21}
Set parsed request U\-R\-I. You don't need to use this function if you are already providing the request line or request U\-R\-I. But if your container already has this data available, feeding it to Lib\-H\-T\-P will minimize any potential data differences. This function assumes management of the data provided in parsed\-\_\-uri. This function will not change \hyperlink{structhtp__tx__t_ae7ff21de5a532e2d148a78bff528c91c}{htp\-\_\-tx\-\_\-t\-::parsed\-\_\-uri\-\_\-raw} (which may have data in it from the parsing of the request U\-R\-I).


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em parsed\-\_\-uri} & U\-R\-I pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a2d51b78134b9712df2152bf14b812978}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{protocol, }
\item[{size\-\_\-t}]{protocol\-\_\-len, }
\item[{enum {\bf htp\-\_\-alloc\-\_\-strategy\-\_\-t}}]{alloc}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a2d51b78134b9712df2152bf14b812978}
Sets the request protocol string (e.\-g., \char`\"{}\-H\-T\-T\-P/1.\-0\char`\"{}). The information provided is only stored, not parsed. Use \hyperlink{htp__transaction_8h_a65467c49a7fd48a7083cb7fb2e66d738}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-number()} to set the actual protocol number, as interpreted by the container.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em protocol} & Protocol data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em protocol\-\_\-len} & Protocol data length. \\
\hline
\mbox{\tt in}  & {\em alloc} & Desired allocation strategy. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_af3d8c86e14b6a1c8b8cb0026855ba30f}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-0\-\_\-9@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-0\-\_\-9}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-0\-\_\-9@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-0\-\_\-9}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-0\-\_\-9}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-0\-\_\-9 (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{int}]{is\-\_\-protocol\-\_\-0\-\_\-9}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_af3d8c86e14b6a1c8b8cb0026855ba30f}
Forces H\-T\-T\-P/0.\-9 as the transaction protocol. This method exists to ensure that both Lib\-H\-T\-P and the container treat the transaction as H\-T\-T\-P/0.\-9, despite potential differences in how the protocol version is determined.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em is\-\_\-protocol\-\_\-0\-\_\-9} & Zero if protocol is not H\-T\-T\-P/0.\-9, or 1 if it is. \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a65467c49a7fd48a7083cb7fb2e66d738}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-number@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-number}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-number@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-number}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-number}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-number (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{int}]{protocol\-\_\-number}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a65467c49a7fd48a7083cb7fb2e66d738}
Set request protocol version number. Must be invoked after htp\-\_\-txh\-\_\-set\-\_\-req\-\_\-protocol(), because it will overwrite the previously extracted version number. Convert the protocol version number to an integer by multiplying it with 100. For example, 1.\-1 becomes 110. Alternatively, use the H\-T\-P\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L\-\_\-0\-\_\-9, H\-T\-P\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L\-\_\-1\-\_\-0, and H\-T\-P\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L\-\_\-1\-\_\-1 constants. Note\-: setting protocol to H\-T\-P\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L\-\_\-0\-\_\-9 alone will {\itshape not} get the library to treat the transaction as H\-T\-T\-P/0.\-9. You need to also invoke \hyperlink{htp__transaction_8h_af3d8c86e14b6a1c8b8cb0026855ba30f}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-protocol\-\_\-0\-\_\-9()}. This is because H\-T\-T\-P 0.\-9 is used only when protocol information is absent from the request line, and not when it is explicitly stated (as \char`\"{}\-H\-T\-T\-P/0.\-9\char`\"{}). This behavior is consistent with that of Apache httpd.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em protocol\-\_\-number} & Protocol number. \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a523a135d64880fbb5731d02ce910bc01}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-uri@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-uri}}
\index{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-uri@{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-uri}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-uri}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-uri (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{uri, }
\item[{size\-\_\-t}]{uri\-\_\-len, }
\item[{enum {\bf htp\-\_\-alloc\-\_\-strategy\-\_\-t}}]{alloc}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a523a135d64880fbb5731d02ce910bc01}
Set transaction request U\-R\-I. The value provided here will be stored in \hyperlink{structhtp__tx__t_af9a13351a92070381d6700cdfc99e0eb}{htp\-\_\-tx\-\_\-t\-::request\-\_\-uri} and subsequently parsed. If \hyperlink{htp__transaction_8h_ad9a5f4df3aa359aed3d8b713689ef8b7}{htp\-\_\-tx\-\_\-req\-\_\-set\-\_\-line()} was previously used, the uri provided when calling this function will overwrite any previously parsed value.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em uri} & U\-R\-I data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em uri\-\_\-len} & U\-R\-I data length. \\
\hline
\mbox{\tt in}  & {\em alloc} & Desired allocation strategy. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a694697230584f925ff39a69d022a9edf}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data@{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data}}
\index{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data@{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const void $\ast$}]{data, }
\item[{size\-\_\-t}]{len}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a694697230584f925ff39a69d022a9edf}
Process a chunk of response body data. This function assumes that handling of chunked encoding is implemented by the container. When you're done submitting body data, invoking a state change (to R\-E\-S\-P\-O\-N\-S\-E) will finalize any processing that might be pending.

The response body data will be decompressed if two conditions are met\-: one, decompression is enabled in configuration and two, if the response headers indicate compression. Alternatively, you can control decompression from a R\-E\-S\-P\-O\-N\-S\-E\-\_\-\-H\-E\-A\-D\-E\-R\-S callback, by setting tx-\/$>$response\-\_\-content\-\_\-encoding either to C\-O\-M\-P\-R\-E\-S\-S\-I\-O\-N\-\_\-\-N\-O\-N\-E (to disable compression), or to one of the supported decompression algorithms.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em data} & Data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em len} & Data length. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a219a0b24ed95d84a3fb9ad7c07cac511}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data\-\_\-ex@{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data\-\_\-ex}}
\index{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data\-\_\-ex@{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data\-\_\-ex}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data\-\_\-ex}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-res\-\_\-process\-\_\-body\-\_\-data\-\_\-ex (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const void $\ast$}]{data, }
\item[{size\-\_\-t}]{len}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a219a0b24ed95d84a3fb9ad7c07cac511}
\hypertarget{htp__transaction_8c_a0de20cdbee28e01c68f5d79ac35f1c73}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-header@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-header}}
\index{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-header@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-header}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-header}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-header (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{name, }
\item[{size\-\_\-t}]{name\-\_\-len, }
\item[{const char $\ast$}]{value, }
\item[{size\-\_\-t}]{value\-\_\-len, }
\item[{enum {\bf htp\-\_\-alloc\-\_\-strategy\-\_\-t}}]{alloc}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a0de20cdbee28e01c68f5d79ac35f1c73}
Set one response header. This function should be invoked once for each available header, and in the order in which headers were seen in the response.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em name} & Name data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em name\-\_\-len} & Name data length. \\
\hline
\mbox{\tt in}  & {\em value} & Value data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em value\-\_\-len} & Value length. \\
\hline
\mbox{\tt in}  & {\em alloc} & Desired allocation strategy. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a4654dd75275b161e32c69b39f6365f49}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-headers\-\_\-clear@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-headers\-\_\-clear}}
\index{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-headers\-\_\-clear@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-headers\-\_\-clear}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-headers\-\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-headers\-\_\-clear (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a4654dd75275b161e32c69b39f6365f49}
Removes all response headers associated with this transaction. This function is needed because in some cases the container does not differentiate between standard and trailing headers. In that case, you set response headers once at the beginning of the transaction, read the body, clear all headers, and then set them all again. After the headers are set for the second time, they will potentially contain a mixture of standard and trailing headers.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a138bfe0a159727cb8a15dd23c38567ad}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-protocol\-\_\-number@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-protocol\-\_\-number}}
\index{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-protocol\-\_\-number@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-protocol\-\_\-number}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-protocol\-\_\-number}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-protocol\-\_\-number (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{int}]{protocol\-\_\-number}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a138bfe0a159727cb8a15dd23c38567ad}
Set response protocol number. See \hyperlink{htp__transaction_8h_a138bfe0a159727cb8a15dd23c38567ad}{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-protocol\-\_\-number()} for more information about the correct format of the protocol\-\_\-parameter parameter.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em protocol\-\_\-number} & Protocol number. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_aab329bdb2bff8170ff8d394659717f0c}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-code@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-code}}
\index{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-code@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-code}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-code}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-code (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{int}]{status\-\_\-code}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_aab329bdb2bff8170ff8d394659717f0c}
Set response status code.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em status\-\_\-code} & Response status code. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a94f6b84283ab7904622010e23c9adf9d}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-line@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-line}}
\index{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-line@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-line}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-line}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-line (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{line, }
\item[{size\-\_\-t}]{line\-\_\-len, }
\item[{enum {\bf htp\-\_\-alloc\-\_\-strategy\-\_\-t}}]{alloc}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a94f6b84283ab7904622010e23c9adf9d}
Set response line. Use this function is you have a single buffer containing the entire line. If you have individual request line pieces, use the other available functions.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em line} & Line data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em line\-\_\-len} & Line data length. \\
\hline
\mbox{\tt in}  & {\em alloc} & Desired allocation strategy. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a5448d3691eb45ad6f12a3fffbc373d92}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-message@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-message}}
\index{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-message@{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-message}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-message}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-res\-\_\-set\-\_\-status\-\_\-message (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{const char $\ast$}]{msg, }
\item[{size\-\_\-t}]{msg\-\_\-len, }
\item[{enum {\bf htp\-\_\-alloc\-\_\-strategy\-\_\-t}}]{alloc}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a5448d3691eb45ad6f12a3fffbc373d92}
Set response status message, which is the part of the response line that comes after the status code.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em msg} & Message data pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em msg\-\_\-len} & Message data length. \\
\hline
\mbox{\tt in}  & {\em alloc} & Desired allocation strategy. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a1c4b795d1d8be70fcc32e9396f53ebfb}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-set\-\_\-config@{htp\-\_\-tx\-\_\-set\-\_\-config}}
\index{htp\-\_\-tx\-\_\-set\-\_\-config@{htp\-\_\-tx\-\_\-set\-\_\-config}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-set\-\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-set\-\_\-config (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{{\bf htp\-\_\-cfg\-\_\-t} $\ast$}]{cfg, }
\item[{int}]{is\-\_\-cfg\-\_\-shared}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a1c4b795d1d8be70fcc32e9396f53ebfb}
Sets the configuration that is to be used for this transaction. If the second parameter is set to H\-T\-P\-\_\-\-C\-F\-G\-\_\-\-P\-R\-I\-V\-A\-T\-E, the transaction will adopt the configuration structure and destroy it when appropriate. This function is useful if you need to make changes to configuration on per-\/transaction basis. Initially, all transactions will share the configuration with that of the connection; if you were to make changes on it, they would affect all current and future connections. To work around that, you make a copy of the configuration object, call this function with the second parameter set to H\-T\-P\-\_\-\-C\-F\-G\-\_\-\-P\-R\-I\-V\-A\-T\-E, and modify configuration at will.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em cfg} & Configuration pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em is\-\_\-cfg\-\_\-shared} & H\-T\-P\-\_\-\-C\-F\-G\-\_\-\-S\-H\-A\-R\-E\-D or H\-T\-P\-\_\-\-C\-F\-G\-\_\-\-P\-R\-I\-V\-A\-T\-E \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a195fca8b26ed5199e79bf7a3205cc8f8}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-set\-\_\-user\-\_\-data@{htp\-\_\-tx\-\_\-set\-\_\-user\-\_\-data}}
\index{htp\-\_\-tx\-\_\-set\-\_\-user\-\_\-data@{htp\-\_\-tx\-\_\-set\-\_\-user\-\_\-data}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-set\-\_\-user\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}void htp\-\_\-tx\-\_\-set\-\_\-user\-\_\-data (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{void $\ast$}]{user\-\_\-data}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a195fca8b26ed5199e79bf7a3205cc8f8}
Associates user data with this transaction.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\mbox{\tt in}  & {\em user\-\_\-data} & Opaque user data pointer. \\
\hline
\end{DoxyParams}
\hypertarget{htp__transaction_8c_a6b642aabfa0688477a73138803e8a96c}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete}}
\index{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a6b642aabfa0688477a73138803e8a96c}
Change transaction state to R\-E\-Q\-U\-E\-S\-T and invoke registered callbacks.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success; H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, H\-T\-P\-\_\-\-S\-T\-O\-P if one of the callbacks does not want to follow the transaction any more. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a094a6a35a7a937d160a2785e2e6e3269}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete\-\_\-partial@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete\-\_\-partial}}
\index{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete\-\_\-partial@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete\-\_\-partial}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete\-\_\-partial}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-complete\-\_\-partial (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a094a6a35a7a937d160a2785e2e6e3269}
\hypertarget{htp__transaction_8c_aed95ccccf477ee8adeb83291a2104156}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-headers@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-headers}}
\index{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-headers@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-headers}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-headers}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-headers (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_aed95ccccf477ee8adeb83291a2104156}
Change transaction state to R\-E\-Q\-U\-E\-S\-T\-\_\-\-H\-E\-A\-D\-E\-R\-S and invoke all registered callbacks.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success; H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, H\-T\-P\-\_\-\-S\-T\-O\-P if one of the callbacks does not want to follow the transaction any more. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_aaaf7174643f67cdb075d45333b6fd7b5}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-line@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-line}}
\index{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-line@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-line}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-line}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-line (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_aaaf7174643f67cdb075d45333b6fd7b5}
Change transaction state to R\-E\-Q\-U\-E\-S\-T\-\_\-\-L\-I\-N\-E and invoke all registered callbacks.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success; H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, H\-T\-P\-\_\-\-S\-T\-O\-P if one of the callbacks does not want to follow the transaction any more. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_afe2a066b2bd7887debe3146218a1586c}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-start@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-start}}
\index{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-start@{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-start}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-start}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-request\-\_\-start (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_afe2a066b2bd7887debe3146218a1586c}
Initialize hybrid parsing mode, change state to T\-R\-A\-N\-S\-A\-C\-T\-I\-O\-N\-\_\-\-S\-T\-A\-R\-T, and invoke all registered callbacks.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success; H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, H\-T\-P\-\_\-\-S\-T\-O\-P if one of the callbacks does not want to follow the transaction any more. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_adcbbf6a88718344b9cbe0c5f508a07ce}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete}}
\index{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_adcbbf6a88718344b9cbe0c5f508a07ce}
Change transaction state to R\-E\-S\-P\-O\-N\-S\-E and invoke registered callbacks.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success; H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, H\-T\-P\-\_\-\-S\-T\-O\-P if one of the callbacks does not want to follow the transaction any more. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a76675e7e250e24c1ac47c49b4181aff8}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete\-\_\-ex@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete\-\_\-ex}}
\index{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete\-\_\-ex@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete\-\_\-ex}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete\-\_\-ex}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-complete\-\_\-ex (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx, }
\item[{int}]{hybrid\-\_\-mode}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a76675e7e250e24c1ac47c49b4181aff8}
\hypertarget{htp__transaction_8c_a55a3a62e1c697127c4b206e75f983386}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-headers@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-headers}}
\index{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-headers@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-headers}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-headers}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-headers (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a55a3a62e1c697127c4b206e75f983386}
Change transaction state to R\-E\-S\-P\-O\-N\-S\-E\-\_\-\-H\-E\-A\-D\-E\-R\-S and invoke registered callbacks.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success; H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, H\-T\-P\-\_\-\-S\-T\-O\-P if one of the callbacks does not want to follow the transaction any more. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_af51ff64d772742097a2f4a1a76e0557f}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-line@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-line}}
\index{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-line@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-line}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-line}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-line (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_af51ff64d772742097a2f4a1a76e0557f}
Change transaction state to H\-T\-P\-\_\-\-R\-E\-S\-P\-O\-N\-S\-E\-\_\-\-L\-I\-N\-E and invoke registered callbacks.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success; H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, H\-T\-P\-\_\-\-S\-T\-O\-P if one of the callbacks does not want to follow the transaction any more. 
\end{DoxyReturn}
\hypertarget{htp__transaction_8c_a524d59cd184104370ade58fb200f2379}{\index{htp\-\_\-transaction.\-c@{htp\-\_\-transaction.\-c}!htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-start@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-start}}
\index{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-start@{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-start}!htp_transaction.c@{htp\-\_\-transaction.\-c}}
\subsubsection[{htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-start}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-tx\-\_\-state\-\_\-response\-\_\-start (
\begin{DoxyParamCaption}
\item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx}
\end{DoxyParamCaption}
)}}\label{htp__transaction_8c_a524d59cd184104370ade58fb200f2379}
Change transaction state to R\-E\-S\-P\-O\-N\-S\-E\-\_\-\-S\-T\-A\-R\-T and invoke registered callbacks.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em tx} & Transaction pointer. Must not be N\-U\-L\-L. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
H\-T\-P\-\_\-\-O\-K on success; H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, H\-T\-P\-\_\-\-S\-T\-O\-P if one of the callbacks does not want to follow the transaction any more. 
\end{DoxyReturn}