     private let uniqueIdentifier: String
     private let pollingInterval: TimeInterval
     private let timeout: TimeInterval
-    private var didInformDelegateAboutLinkButton = false
 
     public weak var delegate: BridgeAuthenticatorDelegate?
 


    private func handleResponse(_ data: Data?, response: URLResponse?, error: NSError?) {
        if let error = self.parseError(error, data: data) {
            if error.code == 101 && !didInformDelegateAboutLinkButton {
                // user needs to press the link button
                let secondsLeft: TimeInterval = timeout - abs(authenticationStartedAt!.timeIntervalSinceNow)
                DispatchQueue.main.async {
                    self.delegate?.bridgeAuthenticatorRequiresLinkButtonPress(self, secondsLeft: secondsLeft)
                }
                didInformDelegateAboutLinkButton = true
                self.startNextRequest(self.ip, uniqueIdentifier: self.uniqueIdentifier)
            } else if error.code == 101 {
                // continue polling for link button
                self.startNextRequest(self.ip, uniqueIdentifier: self.uniqueIdentifier)
            } else {
                // unknown error

    }

    public func start() {
        authenticationStartedAt = Date()
        startRequest()
    }
