.. _HTTP Parser: Parser ======== --------------------------------------------------------------- Functions --------------------------------------------------------------- .. c:function:: ssize_t ymo_parse_http_request_line( ymo_http_exchange_t* request_in, const char* buffer, size_t len) Used to parse HTTP exchange line. :param request_in: HTTP exchange being parsed :param buffer: input buffer from socket :param len: number of bytes in the buffer from the last read event :returns: number of bytes parsed on success, -1 on failure. .. c:function:: ssize_t ymo_parse_http_crlf( ymo_http_exchange_t* request_in, const char* buffer, size_t len) Used to parse CRLF between headers or at end of headers. :param request_in: HTTP exchange being parsed :param buffer: input buffer from socket :param len: number of bytes in the buffer from the last read event :returns: number of bytes parsed on success, -1 on failure. .. c:function:: ssize_t ymo_parse_http_headers( ymo_http_session_t* session, ymo_http_exchange_t* request_in, const char* buffer, size_t len) Used to parse HTTP headers. :param request_in: HTTP exchange being parsed :param buffer: input buffer from socket :param len: number of bytes in the buffer from the last read event :returns: number of bytes parsed on success, -1 on failure. .. c:function:: ssize_t ymo_parse_http_body( ymo_http_body_cb_t body_cb, ymo_http_session_t* session, ymo_http_exchange_t* exchange, const char* buffer, size_t len) Used to parse HTTP body. :param body_cb: userspace body-data callabck (optional) :param session: http session object (required if body_cb != NULL) :param request_in: HTTP exchange being parsed :param buffer: input buffer from socket :param len: number of bytes in the buffer from the last read event :returns: number of bytes parsed on success, -1 on failure.