Adafruit_CircuitPython_HTTP.../examples/httpserver_methods.py

38 lines
1,011 B
Python

# SPDX-FileCopyrightText: 2022 Dan Halbert for Adafruit Industries
#
# SPDX-License-Identifier: Unlicense
import socketpool
import wifi
from adafruit_httpserver import Server, Request, Response, GET, POST, PUT, DELETE
pool = socketpool.SocketPool(wifi.radio)
server = Server(pool)
@server.route("/api", [GET, POST, PUT, DELETE])
def api(request: Request):
"""
Performs different operations depending on the HTTP method.
"""
if request.method == GET:
# Get objects
with Response(request) as response:
response.send("Objects: ...")
if request.method in [POST, PUT]:
# Upload or update objects
with Response(request) as response:
response.send("Object uploaded/updated")
if request.method == DELETE:
# Delete objects
with Response(request) as response:
response.send("Object deleted")
print(f"Listening on http://{wifi.radio.ipv4_address}:80")
server.serve_forever(str(wifi.radio.ipv4_address))