code: def _read_payload(self, maxlen=None):
          
  
          client_address_str = "{}:{}".format(self.client_address[0], self.client_address[1])
  
          # check length
          read_len = self.headers.get('content-length', None)
          if read_len is None:
              log.error("No content-length given from {}".format(client_address_str))
              return None
  
          try:
              read_len = int(read_len)
          except:
              log.error("Invalid content-length")
              return None
  
          if maxlen is not None and read_len >= maxlen:
              log.error("Request from {} is too long ({} >= {})".format(client_address_str, read_len, maxlen))
              return None
  
          # get the payload
          request_str = self.rfile.read(read_len)
          return request_str
docs: Read raw uploaded data.
          Return the data on success
          Return None on I/O error, or if maxlen is not None and the number of bytes read is too big