\hypertarget{htp__request_8c}{\section{htp\-\_\-request.\-c File Reference} \label{htp__request_8c}\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}} } {\ttfamily \#include \char`\"{}htp\-\_\-private.\-h\char`\"{}}\\* \subsection*{Macros} \begin{DoxyCompactItemize} \item \#define \hyperlink{htp__request_8c_ae92a1ebd671364af52af44423f53529e}{I\-N\-\_\-\-T\-E\-S\-T\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}(X) \item \#define \hyperlink{htp__request_8c_abdcb3b5d51d19981ac85a328ce6f4133}{I\-N\-\_\-\-P\-E\-E\-K\-\_\-\-N\-E\-X\-T}(X) \item \#define \hyperlink{htp__request_8c_abc5fff905ff1e17fc81f99df2cb97a5c}{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E}(X) \item \#define \hyperlink{htp__request_8c_ad9d35f619f3f8261d805b14c7c6fb846}{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}(X) \item \#define \hyperlink{htp__request_8c_a5f2b76a1cf59d29323f0e572249773f5}{I\-N\-\_\-\-C\-O\-P\-Y\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}(X) \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_af19c954da72e0921d9e3ae2e79bccfb5}{htp\-\_\-connp\-\_\-req\-\_\-receiver\-\_\-finalize\-\_\-clear} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_a3e8c194c19ebdaaa21fe107e328e3a75}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-C\-H\-E\-C\-K} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_ac6178cc04104e5e5e469489f5e77c04d}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-W\-A\-I\-T\-\_\-\-R\-E\-S\-P\-O\-N\-S\-E} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_a24a112bbe8db96d22a8d421a6ea6ac74}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A\-\_\-\-E\-N\-D} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_ac07a4f5062908c573d2b78f6f3ddc743}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_a78975b59c610a8b5cd834b6c7ad7524b}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-L\-E\-N\-G\-T\-H} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_aa5ab1e26414167266d8d0b98eb712723}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-I\-D\-E\-N\-T\-I\-T\-Y} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_ad207aff5c7e4a68d2a539ffd9e3fd623}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-E\-T\-E\-R\-M\-I\-N\-E} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_af7b83f68a53afa0a16e0d78300b63a46}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-H\-E\-A\-D\-E\-R\-S} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_a801f66183cf5693361eca92d66607314}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_acfb131d9a3925c753f4beffad0f07e84}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-L\-I\-N\-E} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_a2702260435d65d58ff1ef824cfdc1091}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-F\-I\-N\-A\-L\-I\-Z\-E} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_a984918ce8cdd5c6d42c74294a1c7cc18}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-G\-N\-O\-R\-E\-\_\-\-D\-A\-T\-A\-\_\-\-A\-F\-T\-E\-R\-\_\-\-H\-T\-T\-P\-\_\-0\-\_\-9} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request_8c_ae4a3e37c2a1e728db9f80cca8e53c6fa}{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-D\-L\-E} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item size\-\_\-t \hyperlink{htp__request_8c_aabff53178e69819d0ea8509557c0ef29}{htp\-\_\-connp\-\_\-req\-\_\-data\-\_\-consumed} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item int \hyperlink{htp__request_8c_a2212edc93dc47fd615a30297f8faad60}{htp\-\_\-connp\-\_\-req\-\_\-data} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp, const \hyperlink{htp__core_8h_a26dd949491d83777aea7905224110162}{htp\-\_\-time\-\_\-t} $\ast$timestamp, const void $\ast$data, size\-\_\-t len) \end{DoxyCompactItemize} \subsection{Detailed Description} \begin{DoxyAuthor}{Author} Ivan Ristic \href{mailto:ivanr@webkreator.com}{\tt ivanr@webkreator.\-com} \end{DoxyAuthor} \subsection{Macro Definition Documentation} \hypertarget{htp__request_8c_a5f2b76a1cf59d29323f0e572249773f5}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!I\-N\-\_\-\-C\-O\-P\-Y\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N@{I\-N\-\_\-\-C\-O\-P\-Y\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}} \index{I\-N\-\_\-\-C\-O\-P\-Y\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N@{I\-N\-\_\-\-C\-O\-P\-Y\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{I\-N\-\_\-\-C\-O\-P\-Y\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-N\-\_\-\-C\-O\-P\-Y\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N( \begin{DoxyParamCaption} \item[{}]{X} \end{DoxyParamCaption} )}}\label{htp__request_8c_a5f2b76a1cf59d29323f0e572249773f5} {\bfseries Value\-:} \begin{DoxyCode} \textcolor{keywordflow}{if} ((X)->in\_current\_read\_offset < (X)->in\_current\_len) \{ \(\backslash\) (X)->in\_next\_byte = (X)->in\_current\_data[(X)->in\_current\_read\_offset]; \(\backslash\) (X)->in\_current\_read\_offset++; \(\backslash\) (X)->in\_stream\_offset++; \(\backslash\) \} \textcolor{keywordflow}{else} \{ \(\backslash\) return \hyperlink{htp__core_8h_a936e0facd4d14265327ffaaabba6cff4}{HTP\_DATA\_BUFFER}; \(\backslash\) \} \end{DoxyCode} \hypertarget{htp__request_8c_abc5fff905ff1e17fc81f99df2cb97a5c}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E@{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E}} \index{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E@{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E( \begin{DoxyParamCaption} \item[{}]{X} \end{DoxyParamCaption} )}}\label{htp__request_8c_abc5fff905ff1e17fc81f99df2cb97a5c} {\bfseries Value\-:} \begin{DoxyCode} \textcolor{keywordflow}{if} ((X)->in\_current\_read\_offset < (X)->in\_current\_len) \{ \(\backslash\) (X)->in\_next\_byte = (X)->in\_current\_data[(X)->in\_current\_read\_offset]; \(\backslash\) (X)->in\_current\_read\_offset++; \(\backslash\) (X)->in\_current\_consume\_offset++; \(\backslash\) (X)->in\_stream\_offset++; \(\backslash\) \} \textcolor{keywordflow}{else} \{ \(\backslash\) (X)->in\_next\_byte = -1; \(\backslash\) \} \end{DoxyCode} \hypertarget{htp__request_8c_ad9d35f619f3f8261d805b14c7c6fb846}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N@{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}} \index{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N@{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-N\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N( \begin{DoxyParamCaption} \item[{}]{X} \end{DoxyParamCaption} )}}\label{htp__request_8c_ad9d35f619f3f8261d805b14c7c6fb846} {\bfseries Value\-:} \begin{DoxyCode} \textcolor{keywordflow}{if} ((X)->in\_current\_read\_offset < (X)->in\_current\_len) \{ \(\backslash\) (X)->in\_next\_byte = (X)->in\_current\_data[(X)->in\_current\_read\_offset]; \(\backslash\) (X)->in\_current\_read\_offset++; \(\backslash\) (X)->in\_current\_consume\_offset++; \(\backslash\) (X)->in\_stream\_offset++; \(\backslash\) \} \textcolor{keywordflow}{else} \{ \(\backslash\) return \hyperlink{htp__core_8h_ad0392639f8e58fd19fe29c8a06127bd1}{HTP\_DATA}; \(\backslash\) \} \end{DoxyCode} \hypertarget{htp__request_8c_abdcb3b5d51d19981ac85a328ce6f4133}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!I\-N\-\_\-\-P\-E\-E\-K\-\_\-\-N\-E\-X\-T@{I\-N\-\_\-\-P\-E\-E\-K\-\_\-\-N\-E\-X\-T}} \index{I\-N\-\_\-\-P\-E\-E\-K\-\_\-\-N\-E\-X\-T@{I\-N\-\_\-\-P\-E\-E\-K\-\_\-\-N\-E\-X\-T}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{I\-N\-\_\-\-P\-E\-E\-K\-\_\-\-N\-E\-X\-T}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-N\-\_\-\-P\-E\-E\-K\-\_\-\-N\-E\-X\-T( \begin{DoxyParamCaption} \item[{}]{X} \end{DoxyParamCaption} )}}\label{htp__request_8c_abdcb3b5d51d19981ac85a328ce6f4133} {\bfseries Value\-:} \begin{DoxyCode} \textcolor{keywordflow}{if} ((X)->in\_current\_read\_offset >= (X)->in\_current\_len) \{ \(\backslash\) (X)->in\_next\_byte = -1; \(\backslash\) \} \textcolor{keywordflow}{else} \{ \(\backslash\) (X)->in\_next\_byte = (X)->in\_current\_data[(X)->in\_current\_read\_offset]; \(\backslash\) \} \end{DoxyCode} \hypertarget{htp__request_8c_ae92a1ebd671364af52af44423f53529e}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!I\-N\-\_\-\-T\-E\-S\-T\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N@{I\-N\-\_\-\-T\-E\-S\-T\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}} \index{I\-N\-\_\-\-T\-E\-S\-T\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N@{I\-N\-\_\-\-T\-E\-S\-T\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{I\-N\-\_\-\-T\-E\-S\-T\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-N\-\_\-\-T\-E\-S\-T\-\_\-\-N\-E\-X\-T\-\_\-\-B\-Y\-T\-E\-\_\-\-O\-R\-\_\-\-R\-E\-T\-U\-R\-N( \begin{DoxyParamCaption} \item[{}]{X} \end{DoxyParamCaption} )}}\label{htp__request_8c_ae92a1ebd671364af52af44423f53529e} {\bfseries Value\-:} \begin{DoxyCode} \textcolor{keywordflow}{if} ((X)->in\_current\_read\_offset >= (X)->in\_current\_len) \{ \(\backslash\) return \hyperlink{htp__core_8h_ad0392639f8e58fd19fe29c8a06127bd1}{HTP\_DATA}; \(\backslash\) \} \end{DoxyCode} \subsection{Function Documentation} \hypertarget{htp__request_8c_ac07a4f5062908c573d2b78f6f3ddc743}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_ac07a4f5062908c573d2b78f6f3ddc743} Processes a chunk of data. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_a24a112bbe8db96d22a8d421a6ea6ac74}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A\-\_\-\-E\-N\-D@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A\-\_\-\-E\-N\-D}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A\-\_\-\-E\-N\-D@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A\-\_\-\-E\-N\-D}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A\-\_\-\-E\-N\-D}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-D\-A\-T\-A\-\_\-\-E\-N\-D ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_a24a112bbe8db96d22a8d421a6ea6ac74} Consumes bytes until the end of the current line. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_a78975b59c610a8b5cd834b6c7ad7524b}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-L\-E\-N\-G\-T\-H@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-L\-E\-N\-G\-T\-H}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-L\-E\-N\-G\-T\-H@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-L\-E\-N\-G\-T\-H}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-L\-E\-N\-G\-T\-H}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-C\-H\-U\-N\-K\-E\-D\-\_\-\-L\-E\-N\-G\-T\-H ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_a78975b59c610a8b5cd834b6c7ad7524b} Extracts chunk length. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_ad207aff5c7e4a68d2a539ffd9e3fd623}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-E\-T\-E\-R\-M\-I\-N\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-E\-T\-E\-R\-M\-I\-N\-E}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-E\-T\-E\-R\-M\-I\-N\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-E\-T\-E\-R\-M\-I\-N\-E}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-E\-T\-E\-R\-M\-I\-N\-E}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-D\-E\-T\-E\-R\-M\-I\-N\-E ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_ad207aff5c7e4a68d2a539ffd9e3fd623} Determines presence (and encoding) of a request body. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_aa5ab1e26414167266d8d0b98eb712723}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-I\-D\-E\-N\-T\-I\-T\-Y@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-I\-D\-E\-N\-T\-I\-T\-Y}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-I\-D\-E\-N\-T\-I\-T\-Y@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-I\-D\-E\-N\-T\-I\-T\-Y}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-I\-D\-E\-N\-T\-I\-T\-Y}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-B\-O\-D\-Y\-\_\-\-I\-D\-E\-N\-T\-I\-T\-Y ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_aa5ab1e26414167266d8d0b98eb712723} Processes identity request body. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_a3e8c194c19ebdaaa21fe107e328e3a75}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-C\-H\-E\-C\-K@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-C\-H\-E\-C\-K}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-C\-H\-E\-C\-K@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-C\-H\-E\-C\-K}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-C\-H\-E\-C\-K}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-C\-H\-E\-C\-K ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_a3e8c194c19ebdaaa21fe107e328e3a75} Performs a check for a C\-O\-N\-N\-E\-C\-T transaction to decide whether inbound parsing needs to be suspended. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K if the request does not use C\-O\-N\-N\-E\-C\-T, H\-T\-P\-\_\-\-D\-A\-T\-A\-\_\-\-O\-T\-H\-E\-R if inbound parsing needs to be suspended until we hear from the other side \end{DoxyReturn} \hypertarget{htp__request_8c_ac6178cc04104e5e5e469489f5e77c04d}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-W\-A\-I\-T\-\_\-\-R\-E\-S\-P\-O\-N\-S\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-W\-A\-I\-T\-\_\-\-R\-E\-S\-P\-O\-N\-S\-E}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-W\-A\-I\-T\-\_\-\-R\-E\-S\-P\-O\-N\-S\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-W\-A\-I\-T\-\_\-\-R\-E\-S\-P\-O\-N\-S\-E}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-W\-A\-I\-T\-\_\-\-R\-E\-S\-P\-O\-N\-S\-E}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-C\-O\-N\-N\-E\-C\-T\-\_\-\-W\-A\-I\-T\-\_\-\-R\-E\-S\-P\-O\-N\-S\-E ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_ac6178cc04104e5e5e469489f5e77c04d} Determines whether inbound parsing, which was suspended after encountering a C\-O\-N\-N\-E\-C\-T transaction, can proceed (after receiving the response). \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K if the parser can resume parsing, H\-T\-P\-\_\-\-D\-A\-T\-A\-\_\-\-O\-T\-H\-E\-R if it needs to continue waiting. \end{DoxyReturn} \hypertarget{htp__request_8c_a2212edc93dc47fd615a30297f8faad60}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-req\-\_\-data@{htp\-\_\-connp\-\_\-req\-\_\-data}} \index{htp\-\_\-connp\-\_\-req\-\_\-data@{htp\-\_\-connp\-\_\-req\-\_\-data}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-req\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}int htp\-\_\-connp\-\_\-req\-\_\-data ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp, } \item[{const {\bf htp\-\_\-time\-\_\-t} $\ast$}]{timestamp, } \item[{const void $\ast$}]{data, } \item[{size\-\_\-t}]{len} \end{DoxyParamCaption} )}}\label{htp__request_8c_a2212edc93dc47fd615a30297f8faad60} \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \mbox{\tt in} & {\em timestamp} & \\ \hline \mbox{\tt in} & {\em data} & \\ \hline \mbox{\tt in} & {\em len} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-S\-T\-R\-E\-A\-M\-\_\-\-D\-A\-T\-A, H\-T\-P\-\_\-\-S\-T\-R\-E\-A\-M\-\_\-\-E\-R\-R\-O\-R or S\-T\-E\-A\-M\-\_\-\-S\-T\-A\-T\-E\-\_\-\-D\-A\-T\-A\-\_\-\-O\-T\-H\-E\-R (see Q\-U\-I\-C\-K\-\_\-\-S\-T\-A\-R\-T). H\-T\-P\-\_\-\-S\-T\-R\-E\-A\-M\-\_\-\-C\-L\-O\-S\-E\-D and H\-T\-P\-\_\-\-S\-T\-R\-E\-A\-M\-\_\-\-T\-U\-N\-N\-E\-L are also possible. \end{DoxyReturn} \hypertarget{htp__request_8c_aabff53178e69819d0ea8509557c0ef29}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-req\-\_\-data\-\_\-consumed@{htp\-\_\-connp\-\_\-req\-\_\-data\-\_\-consumed}} \index{htp\-\_\-connp\-\_\-req\-\_\-data\-\_\-consumed@{htp\-\_\-connp\-\_\-req\-\_\-data\-\_\-consumed}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-req\-\_\-data\-\_\-consumed}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t htp\-\_\-connp\-\_\-req\-\_\-data\-\_\-consumed ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_aabff53178e69819d0ea8509557c0ef29} Returns how many bytes from the current data chunks were consumed so far. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} The number of bytes consumed. \end{DoxyReturn} \hypertarget{htp__request_8c_a2702260435d65d58ff1ef824cfdc1091}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-F\-I\-N\-A\-L\-I\-Z\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-F\-I\-N\-A\-L\-I\-Z\-E}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-F\-I\-N\-A\-L\-I\-Z\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-F\-I\-N\-A\-L\-I\-Z\-E}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-F\-I\-N\-A\-L\-I\-Z\-E}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-F\-I\-N\-A\-L\-I\-Z\-E ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_a2702260435d65d58ff1ef824cfdc1091} \hypertarget{htp__request_8c_af7b83f68a53afa0a16e0d78300b63a46}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-H\-E\-A\-D\-E\-R\-S@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-H\-E\-A\-D\-E\-R\-S}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-H\-E\-A\-D\-E\-R\-S@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-H\-E\-A\-D\-E\-R\-S}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-H\-E\-A\-D\-E\-R\-S}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-H\-E\-A\-D\-E\-R\-S ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_af7b83f68a53afa0a16e0d78300b63a46} Parses request headers. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_ae4a3e37c2a1e728db9f80cca8e53c6fa}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-D\-L\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-D\-L\-E}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-D\-L\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-D\-L\-E}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-D\-L\-E}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-D\-L\-E ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_ae4a3e37c2a1e728db9f80cca8e53c6fa} The idle state is where the parser will end up after a transaction is processed. If there is more data available, a new request will be started. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_a984918ce8cdd5c6d42c74294a1c7cc18}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-G\-N\-O\-R\-E\-\_\-\-D\-A\-T\-A\-\_\-\-A\-F\-T\-E\-R\-\_\-\-H\-T\-T\-P\-\_\-0\-\_\-9@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-G\-N\-O\-R\-E\-\_\-\-D\-A\-T\-A\-\_\-\-A\-F\-T\-E\-R\-\_\-\-H\-T\-T\-P\-\_\-0\-\_\-9}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-G\-N\-O\-R\-E\-\_\-\-D\-A\-T\-A\-\_\-\-A\-F\-T\-E\-R\-\_\-\-H\-T\-T\-P\-\_\-0\-\_\-9@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-G\-N\-O\-R\-E\-\_\-\-D\-A\-T\-A\-\_\-\-A\-F\-T\-E\-R\-\_\-\-H\-T\-T\-P\-\_\-0\-\_\-9}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-G\-N\-O\-R\-E\-\_\-\-D\-A\-T\-A\-\_\-\-A\-F\-T\-E\-R\-\_\-\-H\-T\-T\-P\-\_\-0\-\_\-9}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-I\-G\-N\-O\-R\-E\-\_\-\-D\-A\-T\-A\-\_\-\-A\-F\-T\-E\-R\-\_\-\-H\-T\-T\-P\-\_\-0\-\_\-9 ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_a984918ce8cdd5c6d42c74294a1c7cc18} \hypertarget{htp__request_8c_acfb131d9a3925c753f4beffad0f07e84}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-L\-I\-N\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-L\-I\-N\-E}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-L\-I\-N\-E@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-L\-I\-N\-E}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-L\-I\-N\-E}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-L\-I\-N\-E ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_acfb131d9a3925c753f4beffad0f07e84} Parses request line. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_a801f66183cf5693361eca92d66607314}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L}} \index{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L@{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-\-R\-E\-Q\-\_\-\-P\-R\-O\-T\-O\-C\-O\-L ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_a801f66183cf5693361eca92d66607314} Determines request protocol. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K on state change, H\-T\-P\-\_\-\-E\-R\-R\-O\-R on error, or H\-T\-P\-\_\-\-D\-A\-T\-A when more data is needed. \end{DoxyReturn} \hypertarget{htp__request_8c_af19c954da72e0921d9e3ae2e79bccfb5}{\index{htp\-\_\-request.\-c@{htp\-\_\-request.\-c}!htp\-\_\-connp\-\_\-req\-\_\-receiver\-\_\-finalize\-\_\-clear@{htp\-\_\-connp\-\_\-req\-\_\-receiver\-\_\-finalize\-\_\-clear}} \index{htp\-\_\-connp\-\_\-req\-\_\-receiver\-\_\-finalize\-\_\-clear@{htp\-\_\-connp\-\_\-req\-\_\-receiver\-\_\-finalize\-\_\-clear}!htp_request.c@{htp\-\_\-request.\-c}} \subsubsection[{htp\-\_\-connp\-\_\-req\-\_\-receiver\-\_\-finalize\-\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-connp\-\_\-req\-\_\-receiver\-\_\-finalize\-\_\-clear ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request_8c_af19c954da72e0921d9e3ae2e79bccfb5} Finalizes an existing data receiver hook by sending any outstanding data to it. The hook is then removed so that it receives no more data. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K, or a value returned from a callback. \end{DoxyReturn}