def __init__(self, ubername, password, threads, ratelimit):
        """
        Initialize the patcher with UberNet credentials. They will be used to
        login, check for and retrieve patches.
        """
        self.credentials = dumps({"TitleId": 4,
                                  "AuthMethod": "UberCredentials",
                                  "UberName": ubername,
                                  "Password": password})

        ssl_context = create_default_context()
        self.connection = HTTPSConnection(UBERNET_HOST,
                                          context=ssl_context)

        self.threads = threads
        self.ratelimit = ratelimit