1717import adafruit_imageload
1818from digitalio import DigitalInOut , Direction
1919from adafruit_httpserver .server import HTTPServer
20+ from adafruit_httpserver .request import HTTPRequest
2021from adafruit_httpserver .response import HTTPResponse
22+ from adafruit_httpserver .methods import HTTPMethod
23+ from adafruit_httpserver .mime_type import MIMEType
2124from adafruit_onewire .bus import OneWireBus
2225from adafruit_ds18x20 import DS18X20
2326
@@ -138,13 +141,14 @@ def webpage():
138141
139142# route default static IP
140143@server .route ("/" )
141- def base (request ): # pylint: disable=unused-argument
144+ def base (request : HTTPRequest ): # pylint: disable=unused-argument
142145 # serve the HTML f string
143146 # with content type text/html
144- return HTTPResponse (content_type = "text/html" , body = webpage ())
147+ with HTTPResponse (request , content_type = MIMEType .TYPE_HTML ) as response :
148+ response .send (f"{ webpage ()} " )
145149
146150# if a button is pressed on the site
147- @server .route ("/" , " POST" )
151+ @server .route ("/" , method = HTTPMethod . POST )
148152def buttonpress (request ):
149153 # get the raw text
150154 raw_text = request .raw_request .decode ("utf8" )
@@ -162,7 +166,8 @@ def buttonpress(request):
162166 # toggle the parrot_pin value
163167 parrot_pin .value = not parrot_pin .value
164168 # reload site
165- return HTTPResponse (content_type = "text/html" , body = webpage ())
169+ with HTTPResponse (request , content_type = MIMEType .TYPE_HTML ) as response :
170+ response .send (f"{ webpage ()} " )
166171
167172print ("starting server.." )
168173# startup the server
@@ -231,7 +236,7 @@ def buttonpress(request):
231236 # comment/uncomment for desired units
232237 # temp_test = str(ds18.temperature)
233238 temp_test = str (c_to_f (ds18 .temperature ))
234- temp_text_area .text = "Temperature: %d F" % temp_test
239+ temp_text_area .text = "Temperature: %s F" % temp_test
235240
236241 #if parrot is True:
237242 if parrot_pin .value is True :
0 commit comments