code: def listdir(self, dirname):
          
          client = boto3.client("s3")
          bucket, path = self.bucket_and_path(dirname)
          p = client.get_paginator("list_objects")
          if not path.endswith("/"):
              path += "/"  # This will now only retrieve subdir content
          keys = []
          for r in p.paginate(Bucket=bucket, Prefix=path, Delimiter="/"):
              keys.extend(o["Prefix"][len(path):-1] for o in r.get("CommonPrefixes", []))
              for o in r.get("Contents", []):
                  key = o["Key"][len(path):]
                  if key:  # Skip the base dir, which would add an empty string
                      keys.append(key)
          return keys
docs: Returns a list of entries contained within a directory.