\hypertarget{htp__request__generic_8c}{\section{htp\-\_\-request\-\_\-generic.\-c File Reference} \label{htp__request__generic_8c}\index{htp\-\_\-request\-\_\-generic.\-c@{htp\-\_\-request\-\_\-generic.\-c}} } {\ttfamily \#include \char`\"{}htp\-\_\-private.\-h\char`\"{}}\\* \subsection*{Functions} \begin{DoxyCompactItemize} \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request__generic_8c_a221bc903670a4cdea0d68314700db050}{htp\-\_\-process\-\_\-request\-\_\-header\-\_\-generic} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp, unsigned char $\ast$data, size\-\_\-t len) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request__generic_8c_a942dcbfae19b6ceb5c070cb84dc50bce}{htp\-\_\-parse\-\_\-request\-\_\-header\-\_\-generic} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp, \hyperlink{structhtp__header__t}{htp\-\_\-header\-\_\-t} $\ast$h, unsigned char $\ast$data, size\-\_\-t len) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request__generic_8c_a02add732118572070ba289abd8a4cd66}{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp) \item \hyperlink{htp__core_8h_ab8a71422665c0773654b9b4d96f01e31}{htp\-\_\-status\-\_\-t} \hyperlink{htp__request__generic_8c_a53bf758c818ba5d2554eba3ba380fb36}{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic\-\_\-ex} (\hyperlink{structhtp__connp__t}{htp\-\_\-connp\-\_\-t} $\ast$connp, int nul\-\_\-terminates) \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__request__generic_8c_a942dcbfae19b6ceb5c070cb84dc50bce}{\index{htp\-\_\-request\-\_\-generic.\-c@{htp\-\_\-request\-\_\-generic.\-c}!htp\-\_\-parse\-\_\-request\-\_\-header\-\_\-generic@{htp\-\_\-parse\-\_\-request\-\_\-header\-\_\-generic}} \index{htp\-\_\-parse\-\_\-request\-\_\-header\-\_\-generic@{htp\-\_\-parse\-\_\-request\-\_\-header\-\_\-generic}!htp_request_generic.c@{htp\-\_\-request\-\_\-generic.\-c}} \subsubsection[{htp\-\_\-parse\-\_\-request\-\_\-header\-\_\-generic}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-parse\-\_\-request\-\_\-header\-\_\-generic ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp, } \item[{{\bf htp\-\_\-header\-\_\-t} $\ast$}]{h, } \item[{unsigned char $\ast$}]{data, } \item[{size\-\_\-t}]{len} \end{DoxyParamCaption} )}}\label{htp__request__generic_8c_a942dcbfae19b6ceb5c070cb84dc50bce} Generic request header parser. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \mbox{\tt in} & {\em h} & \\ \hline \mbox{\tt in} & {\em data} & \\ \hline \mbox{\tt in} & {\em len} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K or H\-T\-P\-\_\-\-E\-R\-R\-O\-R \end{DoxyReturn} \hypertarget{htp__request__generic_8c_a02add732118572070ba289abd8a4cd66}{\index{htp\-\_\-request\-\_\-generic.\-c@{htp\-\_\-request\-\_\-generic.\-c}!htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic@{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic}} \index{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic@{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic}!htp_request_generic.c@{htp\-\_\-request\-\_\-generic.\-c}} \subsubsection[{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp} \end{DoxyParamCaption} )}}\label{htp__request__generic_8c_a02add732118572070ba289abd8a4cd66} Generic request line parser. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K or H\-T\-P\-\_\-\-E\-R\-R\-O\-R \end{DoxyReturn} \hypertarget{htp__request__generic_8c_a53bf758c818ba5d2554eba3ba380fb36}{\index{htp\-\_\-request\-\_\-generic.\-c@{htp\-\_\-request\-\_\-generic.\-c}!htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic\-\_\-ex@{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic\-\_\-ex}} \index{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic\-\_\-ex@{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic\-\_\-ex}!htp_request_generic.c@{htp\-\_\-request\-\_\-generic.\-c}} \subsubsection[{htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic\-\_\-ex}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-parse\-\_\-request\-\_\-line\-\_\-generic\-\_\-ex ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp, } \item[{int}]{nul\-\_\-terminates} \end{DoxyParamCaption} )}}\label{htp__request__generic_8c_a53bf758c818ba5d2554eba3ba380fb36} \hypertarget{htp__request__generic_8c_a221bc903670a4cdea0d68314700db050}{\index{htp\-\_\-request\-\_\-generic.\-c@{htp\-\_\-request\-\_\-generic.\-c}!htp\-\_\-process\-\_\-request\-\_\-header\-\_\-generic@{htp\-\_\-process\-\_\-request\-\_\-header\-\_\-generic}} \index{htp\-\_\-process\-\_\-request\-\_\-header\-\_\-generic@{htp\-\_\-process\-\_\-request\-\_\-header\-\_\-generic}!htp_request_generic.c@{htp\-\_\-request\-\_\-generic.\-c}} \subsubsection[{htp\-\_\-process\-\_\-request\-\_\-header\-\_\-generic}]{\setlength{\rightskip}{0pt plus 5cm}{\bf htp\-\_\-status\-\_\-t} htp\-\_\-process\-\_\-request\-\_\-header\-\_\-generic ( \begin{DoxyParamCaption} \item[{{\bf htp\-\_\-connp\-\_\-t} $\ast$}]{connp, } \item[{unsigned char $\ast$}]{data, } \item[{size\-\_\-t}]{len} \end{DoxyParamCaption} )}}\label{htp__request__generic_8c_a221bc903670a4cdea0d68314700db050} Extract one request header. A header can span multiple lines, in which case they will be folded into one before parsing is attempted. \begin{DoxyParams}[1]{Parameters} \mbox{\tt in} & {\em connp} & \\ \hline \mbox{\tt in} & {\em data} & \\ \hline \mbox{\tt in} & {\em len} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} H\-T\-P\-\_\-\-O\-K or H\-T\-P\-\_\-\-E\-R\-R\-O\-R \end{DoxyReturn}