@@ -529,13 +529,6 @@ def _get_socket(
529
529
self ._socket_free [sock ] = False
530
530
return sock
531
531
532
- @staticmethod
533
- def _header_suppplied (header , supplied_headers ):
534
- for supplied_header in supplied_headers :
535
- if supplied_header .lower () == header .lower ():
536
- return True
537
- return False
538
-
539
532
@staticmethod
540
533
def _send (socket : SocketType , data : bytes ):
541
534
total_sent = 0
@@ -563,9 +556,9 @@ def _send_as_bytes(self, socket: SocketType, data: str):
563
556
564
557
def _send_header (self , socket , header , value ):
565
558
self ._send_as_bytes (socket , header )
566
- self ._send_as_bytes (socket , ": " )
559
+ self ._send (socket , b ": " )
567
560
self ._send_as_bytes (socket , value )
568
- self ._send_as_bytes (socket , "\r \n " )
561
+ self ._send (socket , b "\r \n " )
569
562
570
563
# pylint: disable=too-many-arguments
571
564
def _send_request (
@@ -601,18 +594,21 @@ def _send_request(
601
594
data = bytes (data , "utf-8" )
602
595
603
596
self ._send_as_bytes (socket , method )
604
- self ._send_as_bytes (socket , " /" )
597
+ self ._send (socket , b " /" )
605
598
self ._send_as_bytes (socket , path )
606
- self ._send_as_bytes (socket , " HTTP/1.1\r \n " )
599
+ self ._send (socket , b" HTTP/1.1\r \n " )
600
+
601
+ # create lower-case supplied header list
602
+ supplied_headers = {header .lower () for header in headers }
607
603
608
604
# Send headers
609
- if not self . _header_suppplied ( "Host" , headers ) :
605
+ if not "host" in supplied_headers :
610
606
self ._send_header (socket , "Host" , host )
611
- if not self . _header_suppplied ( "User-Agent" , headers ) :
607
+ if not "user-agent" in supplied_headers :
612
608
self ._send_header (socket , "User-Agent" , "Adafruit CircuitPython" )
613
- if content_type_header and not self . _header_suppplied ( "Content-Type" , headers ) :
609
+ if content_type_header and not "content-type" in supplied_headers :
614
610
self ._send_header (socket , "Content-Type" , content_type_header )
615
- if data and not self . _header_suppplied ( "Content-Length" , headers ) :
611
+ if data and not "content-length" in supplied_headers :
616
612
self ._send_header (socket , "Content-Length" , str (len (data )))
617
613
# Iterate over keys to avoid tuple alloc
618
614
for header in headers :
0 commit comments