Swift Digest Authentication async-http-client

stemmen
0

Ik ben op zoek naar een digest-verificatie met een snelle bovenop swiftNIO creëren. Aan het einde krijg ik de volgende fout: De bewerking kan niet worden voltooid. (NIO.NIOConnectionError error 1)

Hier op mijn manier te doen:

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

vervolgens in de rode draad ben ik doe het volgende:

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)
        }
    }
}

Helaas vond ik geen andere manier om de header te maken. Ik moest de waarde van de pass, omdat de response header moet zijn (Wikipedia): Machtiging: en dan de rest. Hier een voorbeeld van mijn Genarated response header: [( Authorization: Digest username = \ myuser \ realm = \ Testserver \, nonce = \ 4F4L1eHYktYv6n7LR4s5yyL5uMiVgKSg \, uri = \ http: // myurl \ , reactietijd = \ 4bc3cdfc727bec9edebf6a55dac677a7 \, )]

Ik ben niet zeker over de fout: is het vanwege mijn headerresponse of omdat ik ben het creëren van een nieuw verzoek van de rode draad en niet in mijn afgevaardigde, maar httpclient is altijd dezelfde instantie. Als het ligt aan de headerresponse, lijkt het erop dat er geen manier om te schrijven direct het antwoord string in de header met behulp van asynchrone-http-client.

Thanks Arnold

De vraag is gesteld op 13/01/2020 om 23:52
bron van user
In andere talen...                            

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