Webserver+3d print
http_server.c File Reference
HTTP server (HyperText Transfer Protocol) More...
Go to the source code of this file.
Functions | |
void | httpServerGetDefaultSettings (HttpServerSettings *settings) |
Initialize settings with default values. | |
error_t | httpServerInit (HttpServerContext *context, const HttpServerSettings *settings) |
HTTP server initialization. | |
error_t | httpServerStart (HttpServerContext *context) |
Start HTTP server. | |
void | httpListenerTask (void *param) |
HTTP server listener task. | |
void | httpConnectionTask (void *param) |
Task that services requests from an active connection. | |
error_t | httpWriteHeader (HttpConnection *connection) |
Send HTTP response header. | |
error_t | httpReadStream (HttpConnection *connection, void *data, size_t size, size_t *received, uint_t flags) |
Read data from client request. | |
error_t | httpWriteStream (HttpConnection *connection, const void *data, size_t length) |
Write data to the client. | |
error_t | httpCloseStream (HttpConnection *connection) |
Close output stream. | |
error_t | httpSendResponse (HttpConnection *connection, const char_t *uri) |
Send HTTP response. | |
error_t | httpSendErrorResponse (HttpConnection *connection, uint_t statusCode, const char_t *message) |
Send error response to the client. | |
error_t | httpSendRedirectResponse (HttpConnection *connection, uint_t statusCode, const char_t *uri) |
Send redirect response to the client. | |
bool_t | httpCheckWebSocketHandshake (HttpConnection *connection) |
Check whether the client's handshake is valid. | |
WebSocket * | httpUpgradeToWebSocket (HttpConnection *connection) |
Upgrade an existing HTTP connection to a WebSocket. |
Detailed Description
HTTP server (HyperText Transfer Protocol)
License
Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Description
Using the HyperText Transfer Protocol, the HTTP server delivers web pages to browsers as well as other data files to web-based applications. Refers to the following RFCs for complete details:
- RFC 1945: Hypertext Transfer Protocol - HTTP/1.0
- RFC 2616: Hypertext Transfer Protocol - HTTP/1.1
- RFC 2617: HTTP Authentication: Basic and Digest Access Authentication
- RFC 2818: HTTP Over TLS
- Version:
- 1.7.6
Definition in file http_server.c.
Function Documentation
bool_t httpCheckWebSocketHandshake | ( | HttpConnection * | connection ) |
Check whether the client's handshake is valid.
- Parameters:
-
[in] connection Structure representing an HTTP connection
- Returns:
- TRUE if the WebSocket handshake is valid, else FALSE
Definition at line 1059 of file http_server.c.
error_t httpCloseStream | ( | HttpConnection * | connection ) |
Close output stream.
- Parameters:
-
[in] connection Structure representing an HTTP connection
- Returns:
- Error code
Definition at line 803 of file http_server.c.
void httpConnectionTask | ( | void * | param ) |
Task that services requests from an active connection.
- Parameters:
-
[in] param Structure representing an HTTP connection with a client
Definition at line 308 of file http_server.c.
void httpListenerTask | ( | void * | param ) |
HTTP server listener task.
- Parameters:
-
[in] param Pointer to the HTTP server context
Definition at line 238 of file http_server.c.
error_t httpReadStream | ( | HttpConnection * | connection, |
void * | data, | ||
size_t | size, | ||
size_t * | received, | ||
uint_t | flags | ||
) |
Read data from client request.
- Parameters:
-
[in] connection Structure representing an HTTP connection [out] data Buffer where to store the incoming data [in] size Maximum number of bytes that can be received [out] received Number of bytes that have been received [in] flags Set of flags that influences the behavior of this function
- Returns:
- Error code
Definition at line 632 of file http_server.c.
error_t httpSendErrorResponse | ( | HttpConnection * | connection, |
uint_t | statusCode, | ||
const char_t * | message | ||
) |
Send error response to the client.
- Parameters:
-
[in] connection Structure representing an HTTP connection [in] statusCode HTTP status code [in] message User message
- Returns:
- Error code
Definition at line 948 of file http_server.c.
error_t httpSendRedirectResponse | ( | HttpConnection * | connection, |
uint_t | statusCode, | ||
const char_t * | uri | ||
) |
Send redirect response to the client.
- Parameters:
-
[in] connection Structure representing an HTTP connection [in] statusCode HTTP status code (301 for permanent redirects) [in] uri NULL-terminated string containing the redirect URI
- Returns:
- Error code
Definition at line 1004 of file http_server.c.
error_t httpSendResponse | ( | HttpConnection * | connection, |
const char_t * | uri | ||
) |
Send HTTP response.
- Parameters:
-
[in] connection Structure representing an HTTP connection [in] uri NULL-terminated string containing the file to be sent in response
- Returns:
- Error code
Definition at line 831 of file http_server.c.
void httpServerGetDefaultSettings | ( | HttpServerSettings * | settings ) |
Initialize settings with default values.
- Parameters:
-
[out] settings Structure that contains HTTP server settings
Definition at line 61 of file http_server.c.
error_t httpServerInit | ( | HttpServerContext * | context, |
const HttpServerSettings * | settings | ||
) |
HTTP server initialization.
- Parameters:
-
[in] context Pointer to the HTTP server context [in] settings HTTP server specific settings
- Returns:
- Error code
Definition at line 106 of file http_server.c.
error_t httpServerStart | ( | HttpServerContext * | context ) |
Start HTTP server.
- Parameters:
-
[in] context Pointer to the HTTP server context
- Returns:
- Error code
Definition at line 196 of file http_server.c.
WebSocket* httpUpgradeToWebSocket | ( | HttpConnection * | connection ) |
Upgrade an existing HTTP connection to a WebSocket.
- Parameters:
-
[in] connection Structure representing an HTTP connection
- Returns:
- Handle referencing the new WebSocket
Definition at line 1108 of file http_server.c.
error_t httpWriteHeader | ( | HttpConnection * | connection ) |
Send HTTP response header.
- Parameters:
-
[in] connection Structure representing an HTTP connection
- Returns:
- Error code
Definition at line 599 of file http_server.c.
error_t httpWriteStream | ( | HttpConnection * | connection, |
const void * | data, | ||
size_t | length | ||
) |
Write data to the client.
- Parameters:
-
[in] connection Structure representing an HTTP connection [in] data Buffer containing the data to be transmitted [in] length Number of bytes to be transmitted
- Returns:
- Error code
Definition at line 738 of file http_server.c.
Generated on Tue Jul 12 2022 17:10:20 by
