OVMS3-idf/examples/protocols/http_server/simple
Anurag Kar e2da1d9905 http_server : Fix and enable example tests
This introduces the following changes in the example test scripts :
* Dependency on python requests library removed in favor of httplib
* Bug fixed in the logic responsible for receiving and processing http chunked responses
* Default timeouts increased Note : Due to connectivity issues (between runner host and DUT) in the runner environment, some of the advanced_tests are being ignored. These tests are intended for verifying the expected limits of the http_server capabilities, and implement sending and receiving of large HTTP packets and malformed requests, running multiple parallel sessions, etc. It is advised that all these tests be run locally, when making changes or adding new features to this component.
2018-08-30 03:01:59 +05:30
..
main ci: temp modify http server tests to get CI pass: 2018-07-27 23:38:20 +08:00
scripts http_server : Fix and enable example tests 2018-08-30 03:01:59 +05:30
http_server_simple_test.py http_server : Fix and enable example tests 2018-08-30 03:01:59 +05:30
Makefile Http Server : Add a simple light weight HTTP Server Component. 2018-07-20 15:49:17 +05:30
README.md Http Server : Add a simple light weight HTTP Server Component. 2018-07-20 15:49:17 +05:30

Simple HTTPD Server Example

The Example consists of HTTPD server demo with demostration of URI handling : 1. URI \hello for GET command returns "Hello World!" message 2. URI \echo for POST command echoes back the POSTed message

  • Configure the project using "make menuconfig" and goto :

    • Example Configuration ->
      1. WIFI SSID: WIFI network to which your PC is also connected to.
      2. WIFI Password: WIFI password
  • In order to test the HTTPD server persistent sockets demo :

    1. compile and burn the firmware "make flash"
    2. run "make monitor" and note down the IP assigned to your ESP module. The default port is 80
    3. test the example :
      • run the test script : "python2 scripts/client.py <IP> <port> <MSG>"
        • the provided test script first does a GET \hello and displays the response
        • the script does a POST to \echo with the user input <MSG> and displays the response
      • or use curl (asssuming IP is 192.168.43.130):
        1. "curl 192.168.43.130:80/hello" - tests the GET "\hello" handler
        2. "curl -X POST --data-binary @anyfile 192.168.43.130:80/echo > tmpfile"
          • "anyfile" is the file being sent as request body and "tmpfile" is where the body of the response is saved
          • since the server echoes back the request body, the two files should be same, as can be confirmed using : "cmp anyfile tmpfile"
        3. "curl -X PUT -d "0" 192.168.43.130:80/ctrl" - disable /hello and /echo handlers
        4. "curl -X PUT -d "1" 192.168.43.130:80/ctrl" - enable /hello and /echo handlers

See the README.md file in the upper level 'examples' directory for more information about examples.