httpmessage  0.4.0
HTTP message parsing library
Classes | Functions | Variables
message.h File Reference

HTTP request and response. More...

#include "httpmessage/header.h"
#include "httpmessage/preprocessor.h"
Include dependency graph for message.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  httpmessage_message
 HTTP generic message. More...
 
struct  httpmessage_request
 HTTP request message. More...
 
struct  httpmessage_response
 HTTP response message. More...
 

Functions

HMAPI void httpmessage_message_init (httpmessage_message *message)
 Initialize a HTTP message descriptor. More...
 
HMAPI void httpmessage_message_clear (httpmessage_message *message, int option_flags)
 Clear message. More...
 
HMAPI int httpmessage_message_append_header (httpmessage_message *message, const char *name, const char *value, int option_flags)
 Append a header to the given message. More...
 
HMAPI int httpmessage_message_get_storage_infos (size_t *max_headerfield_count, size_t *max_line_per_value, const httpmessage_message *message)
 Get message storage capabilities. More...
 
HMAPI httpmessage_requesthttpmessage_request_new ()
 Allocate and initialize a new request. More...
 
HMAPI void httpmessage_request_init (httpmessage_request *request)
 Initialize a HTTP request descriptor. More...
 
HMAPI void httpmessage_request_clear (httpmessage_request *request, int option_flags)
 Clear request message content. More...
 
HMAPI void httpmessage_request_free (httpmessage_request **request)
 Clear and free a request allocated with httpmessage_request_new() More...
 
HMAPI httpmessage_requesthttpmessage_request_storage_new (size_t max_headerfield_count, size_t max_line_per_headerfield_value)
 Create a request message with pre-allocated header field storage in a single memory block. More...
 
HMAPI httpmessage_responsehttpmessage_response_new ()
 Allocate and initialize a new response. More...
 
HMAPI void httpmessage_response_init (httpmessage_response *response)
 Initialize a HTTP response descriptor. More...
 
HMAPI void httpmessage_response_clear (httpmessage_response *response, int option_flags)
 Clear response message. More...
 
HMAPI void httpmessage_response_free (httpmessage_response **response)
 Clear and free a response allocated with httpmessage_response_new() More...
 
HMAPI httpmessage_responsehttpmessage_response_storage_new (size_t max_headerfield_count, size_t max_line_per_headerfield_value)
 Create a response message with pre-allocated header field storage in a single memory block. More...
 
HMAPI int httpmessage_message_http_version_consume (int *major_version, int *minor_version, const char *text, size_t length)
 Read HTTP version token. More...
 
HMAPI int httpmessage_request_request_uri_consume (httpmessage_stringview *request_uri, const char *text, size_t length)
 Read the Request-URI resourcce of a request line. More...
 
HMAPI int httpmessage_request_line_consume (httpmessage_stringview *method, httpmessage_stringview *request_uri, int *major_version, int *minor_version, const char *text, size_t length, int option_flags)
 Read the first line of a HTTP request message. More...
 
HMAPI int httpmessage_status_line_consume (int *major_version, int *minor_version, int *status_code, httpmessage_stringview *reason_phrase, const char *text, size_t length, int option_flags)
 Read HTTM message status line. More...
 
HMAPI int httpmessage_message_get_type (const char *text, size_t length, int option_flags)
 Guess HTTP message type by parsing the first line of the message. More...
 
HMAPI int httpmessage_message_content_consume (httpmessage_message *message, const char *text, size_t length, int option_flags)
 Read HTTP message headers and body. More...
 
HMAPI ssize_t httpmessage_message_content_write_file (FILE *file, const httpmessage_message *message)
 Write message header and body to a file. More...
 
HMAPI ssize_t httpmessage_message_content_write_buffer (void *output, size_t output_size, const httpmessage_message *message)
 Write message header and body to a buffer. More...
 
HMAPI int httpmessage_request_consume (httpmessage_request *request, const char *text, size_t length, int option_flags)
 Read a HTTP request message. More...
 
HMAPI ssize_t httpmessage_request_write_file (FILE *file, const httpmessage_request *request)
 Write a HTTP request message to a file. More...
 
HMAPI ssize_t httpmessage_request_write_buffer (void *output, size_t output_size, const httpmessage_request *request)
 Write a HTTP request message to a buffer. More...
 
HMAPI int httpmessage_response_consume (httpmessage_response *response, const char *text, size_t length, int option_flags)
 Read a HTTP response message. More...
 
HMAPI ssize_t httpmessage_response_write_file (FILE *file, const httpmessage_response *response)
 Write a HTTP response to a file. More...
 
HMAPI ssize_t httpmessage_response_write_buffer (void *output, size_t output_size, const httpmessage_response *response)
 Write a HTTP response to a buffer. More...
 

Variables

HTTPMESSAGE_C_BEGIN typedef httpmessage_stringview httpmessage_body
 HTTP message body.
 

Detailed Description

HTTP request and response.