Swift Digest authentification async-http-client

voix
0

Je suis en train de créer une authentification digest à l'aide rapide au-dessus de swiftNIO. A la fin, je reçois l'erreur suivante: L'opération n'a pas pu être terminée. (Erreur NIO.NIOConnectionError 1.)

Voici ma façon de le faire:

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

puis dans le thread principal je suis procédez comme suit:

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

Malheureusement , j'ai trouvé aucun autre moyen de créer l' en- tête. Je devais passer la valeur « », parce que l' en- tête de réponse doit être (Wikipedia): « Autorisation: » puis le reste. Voici un exemple de mon en- tête de réponse genarated: [( Autorisation: Digest nom d' utilisateur = \ myuser \ realm = \ Testserver \, nonce = \ 4F4L1eHYktYv6n7LR4s5yyL5uMiVgKSg \, uri = \ http: // myurl \ » réponse = \ 4bc3cdfc727bec9edebf6a55dac677a7 \ », )]

Je ne suis pas sûr de l'erreur: est-ce à cause de mon headerresponse ou parce que je suis en train de créer une nouvelle demande du thread principal et non à l'intérieur de mon délégué, mais httpclient est toujours la même instance. Si elle se trouve sur la headerresponse, il semble qu'il n'y existe aucun moyen d'écrire directement la chaîne de réponse dans l'en-tête en utilisant http-async-client.

Merci Arnold

Créé 13/01/2020 à 21:52
source utilisateur
Dans d'autres langues...                            

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