starnight / MicroHttpServer

Simple HTTP Server which implements partial HTTP 1.1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Micro HTTP Server

It is a really simple HTTP server for prototyping.

One of the major purpose is that it can be ported on an embedded system (including micro controller unit level).

For writing Micro HTTP Server, the developer has studied eserv and Tiny HTTPd.

Demo

Get the code git clone https://github.com/starnight/MicroHttpServer.git.

Python Version

It will need Python 3.2 or above.

cd py-version
python3 main.py

Open your web browser and access the URL: http://localhost:8000

C Version

It will need make and GCC for building.

cd c-version
make
./microhttpserver

Open your web browser and access the URL: http://localhost:8001

Directories and Files

  • autotest/: Place the scripts or programs for test automation.
    • client.py: The test automation program writen in Python3 tests the Micro HTTP Server.
  • py-version/: Place the Python Version Micro HTTP Server.
    • main.py: The entry point of Python Version Micro HTTP Server example.
    • app.py: The web application of Python Version Micro HTTP Server example.
    • lib/: Place the Python Version Micro HTTP Server core library.
      • server.py: The Python Version Micro HTTP Server.
      • middleware.py: The Python Version Micro HTTP Server middleware.
      • __init__.py: Needed when server.py and middleware.py are imported by other Python programs located in other directories.
    • static/: Place the static files: HTML, JS, Images ... , which could be access directly.
  • c-version/: Place the C Version Micro HTTP Server.
    • main.c: The entry point of C Version Micro HTTP Server example.
    • app.h: The web application header file of C Version Micro HTTP Server example.
    • app.c: The web application source file of C Version Micro HTTP Server example.
    • lib/: Place the C Version Micro HTTP Server core library.
      • server.h: The header file of C Version Micro HTTP Server.
      • server.c: The source file of C Version Micro HTTP Server.
      • middleware.h: The header file of C Version Micro HTTP Server middleware.
      • middleware.c: The source file of C Version Micro HTTP Server middleware.
    • static/: Place the static files: HTML, JS, Images ... , which could be access directly.
    • Makefile: The makefile of this C Version Micro HTTP Server example.
  • FreeRTOS/: Place the example of Micro HTTP Server ported on FreeRTOS.
  • .travis.yml: The continuous integration build script for Travis CI.
  • LICENSE.md: The BSD license file.
  • README.md: This read me file.

Reference

License

Micro HTTP Server's code uses the BSD license, see our LICENSE.md file.

About

Simple HTTP Server which implements partial HTTP 1.1

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 86.5%Language:Python 9.9%Language:Makefile 3.4%Language:HTML 0.2%