Skip to main content

Simple aiohttp Server for both static and python/php file

Project description

Ahui-aiohttp-server

This is a simple http async server which extends python -m http.server.
(WARN: It's not recommended for production environments, just use it in development or testing environments only!):

  • Support print to http response directly (same as php's echo)
  • Support async-await
  • Support php, python

Install

pip install ahui-aiohttp-server
pip3 install ahui-aiohttp-server

Start server

$ tree .
./
    app/
        echo1.py
        echo2.py
        echo.php
        return.py
    js/
        test.js
$ python -m ahui_aiohttp_server
$ python -m ahui_aiohttp_server --host 127.0.0.1 --port 5000

Access server

Access via echo server(php-like):

$ cat app/echo1.py
print('Hello World!')

$ curl http://127.0.0.1:5000/app/echo1.py
Hello World!
$ curl http://127.0.0.1:5000/js/test.js
<js content>
$ curl http://127.0.0.1:5000/app/echo.php
<js content>

If you want to get request data(such as: get, post, cookie, ..., use aiohttp_handler(request) instead:

$ cat app/echo2.py
def aiohttp_handler(request):
    print(request.query)    # use print 

$ curl http://127.0.0.1:5000/app/echo2.py?var=value
{'var':'value'}

Access via normal aiohttp server:

$ cat app/return.py
from aiohttp import web
async def aiohttp_handler(request):
    data = await request.post()
    return web.Response(body=str(data)) # use return

$ curl http://127.0.0.1:5000/app/return.py?var=value - 'k1=v2'
{'k1':'v2'}

Access static file:

$ curl http://127.0.0.1:5000/js/test.js
<js content>

Required

  1. aiohttp
  2. python>=3.6

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ahui_aiohttp_server, version 0.1.16
Filename, size File type Python version Upload date Hashes
Filename, size ahui_aiohttp_server-0.1.16-py3-none-any.whl (3.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size ahui_aiohttp_server-0.1.16.tar.gz (3.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page