@@ -529,13 +529,6 @@ def _get_socket(
529529 self ._socket_free [sock ] = False
530530 return sock
531531
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-
539532 @staticmethod
540533 def _send (socket : SocketType , data : bytes ):
541534 total_sent = 0
@@ -563,9 +556,9 @@ def _send_as_bytes(self, socket: SocketType, data: str):
563556
564557 def _send_header (self , socket , header , value ):
565558 self ._send_as_bytes (socket , header )
566- self ._send_as_bytes (socket , ": " )
559+ self ._send (socket , b ": " )
567560 self ._send_as_bytes (socket , value )
568- self ._send_as_bytes (socket , "\r \n " )
561+ self ._send (socket , b "\r \n " )
569562
570563 # pylint: disable=too-many-arguments
571564 def _send_request (
@@ -601,18 +594,21 @@ def _send_request(
601594 data = bytes (data , "utf-8" )
602595
603596 self ._send_as_bytes (socket , method )
604- self ._send_as_bytes (socket , " /" )
597+ self ._send (socket , b " /" )
605598 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 }
607603
608604 # Send headers
609- if not self . _header_suppplied ( "Host" , headers ) :
605+ if not "host" in supplied_headers :
610606 self ._send_header (socket , "Host" , host )
611- if not self . _header_suppplied ( "User-Agent" , headers ) :
607+ if not "user-agent" in supplied_headers :
612608 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 :
614610 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 :
616612 self ._send_header (socket , "Content-Length" , str (len (data )))
617613 # Iterate over keys to avoid tuple alloc
618614 for header in headers :
0 commit comments