1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Add doc for ESP8266WebServer (#5400)

* Add doc for ESP8266WebServer

* Use tabs
This commit is contained in:
dav1901 2018-12-08 18:38:41 +02:00 committed by Earle F. Philhower, III
parent 38b6a3c13e
commit 783f817c16
2 changed files with 177 additions and 0 deletions

View File

@ -0,0 +1,168 @@
ESP8266 Web Server
==================
The WebServer class found in ``ESP8266WebServer.h`` header, is a simple web server that knows how to handle HTTP requests such as GET and POST and can only support one simultaneous client.
Usage
-----
Class Constructor
~~~~~~~~~~~~~~~~~
.. code:: cpp
ESP8266WebServer server(80);
Creates the ESP8266WebServer class object.
*Parameters:*
host IP address: ``IPaddress addr`` (optional)
host port number: ``int port`` (default is the standard HTTP port 80)
Basic Operations
~~~~~~~~~~~~~~~~
Starting the server
^^^^^^^^^^^^^^^^^^^
.. code:: cpp
void begin();
Handling incoming client requests
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code:: cpp
void handleClient();
Disabling the server
^^^^^^^^^^^^^^^^^^^^
.. code:: cpp
void close();
void stop();
Both methods function the same
Client request handlers
^^^^^^^^^^^^^^^^^^^^^^^
.. code:: cpp
void on();
void addHandler();
void onNotFound();
void onFileUpload();
*Example:*
.. code:: cpp
server.on("/", handlerFunction);
server.onNotFound(handlerFunction); // called when handler is not assigned
server.onFileUpload(handlerFunction); // handle file uploads
Sending responses to the client
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code:: cpp
void send();
void send_P();
*Parameters:*
``code`` - HTTP response code, can be ``200`` or ``404``, etc.
``content_type`` - HTTP content type, like ``"text/plain"`` or ``"image/png"``, etc.
``content`` - actual content body
Advanced Options
~~~~~~~~~~~~~~~~
Getting information about request arguments
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code:: cpp
const String & arg();
const String & argName();
int args();
bool hasArg();
``arg`` - get request argument value
``argName`` - get request argument name
``args`` - get arguments count
``hasArg`` - check if argument exist
Getting information about request headers
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code:: cpp
const String & header();
const String & headerName();
const String & hostHeader();
int headers();
bool hasHeader();
``header`` - get request header value
``headerName`` - get request header name
``hostHeader`` - get request host header if available, else empty string
``headers`` - get header count
``hasHeader`` - check if header exist
Authentication
^^^^^^^^^^^^^^
.. code:: cpp
bool authenticate();
void requestAuthentication();
``authenticate`` - server authentication, returns true if client is authenticated else false
``requestAuthentication`` - sends authentication failure response to the client
*Example Usage:*
.. code:: cpp
if(!server.authenticate(username, password)){
server.requestAuthentication();
}
Other Function Calls
~~~~~~~~~~~~~~~~~~~~
.. code:: cpp
const String & uri(); // get the current uri
HTTPMethod method(); // get the current method
WiFiClient client(); // get the current client
HTTPUpload & upload(); // get the current upload
void setContentLength(); // set content length
void sendHeader(); // send HTTP header
void sendContent(); // send content
void sendContent_P();
void collectHeaders(); // set the request headers to collect
void serveStatic();
size_t streamFile();
For code samples enter `here <https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WebServer/examples>`__ .

View File

@ -15,6 +15,8 @@ HTTPMethod KEYWORD1
####################################### #######################################
begin KEYWORD2 begin KEYWORD2
close KEYWORD2
stop KEYWORD2
handleClient KEYWORD2 handleClient KEYWORD2
on KEYWORD2 on KEYWORD2
addHandler KEYWORD2 addHandler KEYWORD2
@ -22,11 +24,18 @@ uri KEYWORD2
method KEYWORD2 method KEYWORD2
client KEYWORD2 client KEYWORD2
send KEYWORD2 send KEYWORD2
send_P KEYWORD2
arg KEYWORD2 arg KEYWORD2
argName KEYWORD2 argName KEYWORD2
args KEYWORD2 args KEYWORD2
hasArg KEYWORD2 hasArg KEYWORD2
onNotFound KEYWORD2 onNotFound KEYWORD2
onFileUpload KEYWORD2
header KEYWORD2
headerName KEYWORD2
headers KEYWORD2
hasHeader KEYWORD2
hostHeader KEYWORD2
####################################### #######################################
# Constants (LITERAL1) # Constants (LITERAL1)