|  | @@ -4,7 +4,45 @@ CivetWeb is often used as HTTP and HTTPS library inside a larger application. An
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  ## Structures
 |  |  ## Structures
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -Work in progress...
 |  | 
 | 
											
												
													
														|  | 
 |  | +### `struct mg_header {};`
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +#### Fields
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +| Field | Type | Description |
 | 
											
												
													
														|  | 
 |  | +| :--- | :--- | :--- |
 | 
											
												
													
														|  | 
 |  | +| `name` | `const char *` | The name of the client request header |
 | 
											
												
													
														|  | 
 |  | +| `value` | `const char *` | The value of the client request header |
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +#### Description
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +The structure `mg_header` is used as a sub-structure in the `mg_request_info` structure to store the name and value of one HTTP request header as sent by the client.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +### `struct mg_request_info {};`
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +#### Fields
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +| Field | Type | Description |
 | 
											
												
													
														|  | 
 |  | +| :--- | :--- | :--- |
 | 
											
												
													
														|  | 
 |  | +| `request_method` | `const char *` | The request method used by the client for the connection this can be **GET**, **POST** or one of the other common HTTP request methods |
 | 
											
												
													
														|  | 
 |  | +| `request_uri` | `const char *` | The absolute or URL-encoded URI as it was sent in the request |
 | 
											
												
													
														|  | 
 |  | +| `local_uri` | `const char *` | The relative URL-encoded URI as it references the local resource. If the request URI does not reference a resource on the local server, this field is NULL |
 | 
											
												
													
														|  | 
 |  | +| `uri` | `const char *` | *Deprecated. Use* `local_uri` *instead* |
 | 
											
												
													
														|  | 
 |  | +| `http_version` | `const char *` | The HTTP version as mentioned in the client request. This can be "1.0", "1.1", etc. |
 | 
											
												
													
														|  | 
 |  | +| `remote_user` | `const char *` | The name of the authenticated remote user, or NULL if no authentication was used |
 | 
											
												
													
														|  | 
 |  | +| `remote addr` | `char[48]` | The IP address of the remote client as a string. This can either represent an IPv4 or an IPv6 address. |
 | 
											
												
													
														|  | 
 |  | +| `remote_ip` | `long` | *Deprecated. Use* `remote_addr` *instead* |
 | 
											
												
													
														|  | 
 |  | +| `content_length` | `long long` | The content length of the request body. This value can be -1 if no content length was provided. |
 | 
											
												
													
														|  | 
 |  | +| `remote_port` | `int` | The port number at the client's side |
 | 
											
												
													
														|  | 
 |  | +| `is_ssl` | `int` | 1 if the connection is over SSL, and 0 if it is a plain connection |
 | 
											
												
													
														|  | 
 |  | +| `user_data` | `void *` | A pointer to the `user_data` information which was provided as a parameter to `mg_start()`. |
 | 
											
												
													
														|  | 
 |  | +| `conn_data` | `void *` | A pointer to connection specific user data |
 | 
											
												
													
														|  | 
 |  | +| `num_headers` | `int` | The number of HTTP request headers sent by the client |
 | 
											
												
													
														|  | 
 |  | +| `http_headers` | `struct mg_header[64]` | Array of structures with the HTTP request headers sent by the client |
 | 
											
												
													
														|  | 
 |  | +| `client_cert` | `struct client_cert *` | Pointer to the client certificate information, when available |
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +#### Description
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +The `mg_request_info` structure contains the client information of an existing connection.
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  ## Functions
 |  |  ## Functions
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -164,8 +202,8 @@ The function `mg_stop()` is used to stop and cleanup a running webserver. A poin
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  #### Returns
 |  |  #### Returns
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -| Parameter | Type | Description |
 |  | 
 | 
											
												
													
														|  | -| :--- | :--- | :--- |
 |  | 
 | 
											
												
													
														|  | 
 |  | +| Type | Description |
 | 
											
												
													
														|  | 
 |  | +| :--- | :--- |
 | 
											
												
													
														|  |  | `const char *` | A pointer to a text with the current CivetWeb version |
 |  |  | `const char *` | A pointer to a text with the current CivetWeb version |
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  #### Description
 |  |  #### Description
 |