\hypertarget{htp__content__handlers_8c}{\section{htp\-\_\-content\-\_\-handlers.\-c File Reference} \label{htp__content__handlers_8c}\index{htp\-\_\-content\-\_\-handlers.\-c@{htp\-\_\-content\-\_\-handlers.\-c}} } {\ttfamily \#include \char`\"{}htp\-\_\-private.\-h\char`\"{}}\\* \subsection*{Functions} \begin{DoxyCompactItemize} \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__content__handlers_8c_a4e9f7160e5042d277db88170780998dd}{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-body\-\_\-data} (\hyperlink{structhtp__tx__data__t}{htp\-\_\-tx\-\_\-data\-\_\-t} $\ast$d) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__content__handlers_8c_ac4a784badfbaddb77f6f6e1582fee11e}{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-headers} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__content__handlers_8c_a2ad3aba77f1ebdcc30f1dea10068386f}{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-line} (\hyperlink{structhtp__tx__t}{htp\-\_\-tx\-\_\-t} $\ast$tx) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__content__handlers_8c_a7ec64e252d77945deded415a91bae392}{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-body\-\_\-data} (\hyperlink{structhtp__tx__data__t}{htp\-\_\-tx\-\_\-data\-\_\-t} $\ast$d) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__content__handlers_8c_a5828725587fa5f395faa80e7d2059194}{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-headers} (\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__content__handlers_8c_a7ec64e252d77945deded415a91bae392}{\index{htp\-\_\-content\-\_\-handlers.\-c@{htp\-\_\-content\-\_\-handlers.\-c}!htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-body\-\_\-data@{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-body\-\_\-data}} \index{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-body\-\_\-data@{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-body\-\_\-data}!htp_content_handlers.c@{htp\-\_\-content\-\_\-handlers.\-c}} \subsubsection[{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-body\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-body\-\_\-data ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-tx\-\_\-data\-\_\-t} $\ast$}]{d} \end{DoxyParamCaption} )}}\label{htp__content__handlers_8c_a7ec64e252d77945deded415a91bae392} Finalize Multipart processing. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em d} & \\ \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__content__handlers_8c_a5828725587fa5f395faa80e7d2059194}{\index{htp\-\_\-content\-\_\-handlers.\-c@{htp\-\_\-content\-\_\-handlers.\-c}!htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-headers@{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-headers}} \index{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-headers@{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-headers}!htp_content_handlers.c@{htp\-\_\-content\-\_\-handlers.\-c}} \subsubsection[{htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-headers}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-ch\-\_\-multipart\-\_\-callback\-\_\-request\-\_\-headers ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx} \end{DoxyParamCaption} )}}\label{htp__content__handlers_8c_a5828725587fa5f395faa80e7d2059194} Inspect request headers and register the Multipart request data hook if it contains a multipart/form-\/data body. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K if a new parser has been setup, H\-T\-P\-\_\-\-D\-E\-C\-L\-I\-N\-E\-D if the M\-I\-M\-E type is not appropriate for this parser, and H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. \end{DoxyReturn} \hypertarget{htp__content__handlers_8c_a4e9f7160e5042d277db88170780998dd}{\index{htp\-\_\-content\-\_\-handlers.\-c@{htp\-\_\-content\-\_\-handlers.\-c}!htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-body\-\_\-data@{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-body\-\_\-data}} \index{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-body\-\_\-data@{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-body\-\_\-data}!htp_content_handlers.c@{htp\-\_\-content\-\_\-handlers.\-c}} \subsubsection[{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-body\-\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-body\-\_\-data ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-tx\-\_\-data\-\_\-t} $\ast$}]{d} \end{DoxyParamCaption} )}}\label{htp__content__handlers_8c_a4e9f7160e5042d277db88170780998dd} This callback function feeds request body data to a Urlencoded parser and, later, feeds the parsed parameters to the correct structures. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em d} & \\ \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__content__handlers_8c_ac4a784badfbaddb77f6f6e1582fee11e}{\index{htp\-\_\-content\-\_\-handlers.\-c@{htp\-\_\-content\-\_\-handlers.\-c}!htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-headers@{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-headers}} \index{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-headers@{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-headers}!htp_content_handlers.c@{htp\-\_\-content\-\_\-handlers.\-c}} \subsubsection[{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-headers}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-headers ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx} \end{DoxyParamCaption} )}}\label{htp__content__handlers_8c_ac4a784badfbaddb77f6f6e1582fee11e} Determine if the request has a Urlencoded body, and, if it does, create and attach an instance of the Urlencoded parser to the transaction. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K if a new parser has been setup, H\-T\-P\-\_\-\-D\-E\-C\-L\-I\-N\-E\-D if the M\-I\-M\-E type is not appropriate for this parser, and H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. \end{DoxyReturn} \hypertarget{htp__content__handlers_8c_a2ad3aba77f1ebdcc30f1dea10068386f}{\index{htp\-\_\-content\-\_\-handlers.\-c@{htp\-\_\-content\-\_\-handlers.\-c}!htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-line@{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-line}} \index{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-line@{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-line}!htp_content_handlers.c@{htp\-\_\-content\-\_\-handlers.\-c}} \subsubsection[{htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-line}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-ch\-\_\-urlencoded\-\_\-callback\-\_\-request\-\_\-line ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-tx\-\_\-t} $\ast$}]{tx} \end{DoxyParamCaption} )}}\label{htp__content__handlers_8c_a2ad3aba77f1ebdcc30f1dea10068386f} Parses request query string, if present. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \mbox{\tt in} & {\em raw\-\_\-data} & \\ \hline \mbox{\tt in} & {\em raw\-\_\-len} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K if query string was parsed, H\-T\-P\-\_\-\-D\-E\-C\-L\-I\-N\-E\-D if there was no query string, and H\-T\-P\-\_\-\-E\-R\-R\-O\-R on failure. \end{DoxyReturn}