Swift-Digest-Authentifizierung Asynchron-http-Client

stimmen
0

Ich versuche, eine Digest-Authentifizierung auf der swiftNIO mit schnellen zu erstellen. Am Ende bekomme ich folgende Fehlermeldung: Der Vorgang kann nicht abgeschlossen werden. (NIO.NIOConnectionError Fehler 1.)

Hier ist meine Art und Weise zu tun:

// in the delegate I create my authorizationHeader
let authorizationHeader =  try httpClient.execute(request: digestRequest , delegate: delegate).wait()

dann im Hauptthread ich bin wie folgt vorgehen:

var request = try HTTPClient.Request(url: url, method: .GET)

request.headers.add(name: Authorization: \(authorizationHeader.description) , value: )
print (request.headers.description)
httpClient.execute(request: request).whenComplete { result in
    switch result {
    case .failure(let error):
        print (error.localizedDescription)
    case .success(let response):
        if response.status == .ok {
            print (response.status)
        } else {
            print (error in response)
        }
    }
}

Leider fand ich keinen anderen Weg , um den Header zu erstellen. Ich musste Wert „ übergeben“, weil die Antwort - Header sein (Wikipedia) hat: „Authorization:“ und dann der Rest. Hier ein Beispiel für meine genarated Antwort - Header: [( Authorization: Digest username = \ myuser \ realm = \ Testserver \, nonce = \ 4F4L1eHYktYv6n7LR4s5yyL5uMiVgKSg \, uri = \ http: // myurl \“ , response = \ 4bc3cdfc727bec9edebf6a55dac677a7 \“, )]

Ich bin über den Fehler nicht sicher: es wegen meiner headerresponse ist oder weil ich eine neue Anforderung von dem Hauptthread erschaffe und nicht in meiner delegieren, aber Httpclient ist immer die gleiche Instanz. Wenn es auf dem headerresponse liegt, so scheint es, dass es keine Möglichkeit, die Antwort-String in den Header zu schreiben, gibt es direkt mit Asynchron-http-Client.

dank Arnold

Veröffentlicht am 13/01/2020 um 23:52
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more