Swift autenticación implícita asíncrono-http-cliente

votos
0

Estoy tratando de crear un compendio de autenticación utilizando rápida en la parte superior de swiftNIO. Al final me sale el siguiente error: La operación no se pudo completar. (Error NIO.NIOConnectionError 1.)

Aquí mi forma de hacerlo:

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

a continuación, en el hilo principal Soy hacer lo siguiente:

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

Por desgracia no he encontrado ninguna otra manera de crear la cabecera. Tuve que pasar valor de , debido a que la cabecera de la respuesta tiene que ser (Wikipedia): Autorización: y luego el resto. Aquí un ejemplo de mi cabecera de respuesta genarated: [( Autorización: Recopilación nombre de usuario = \ miUsuario \ realm = \ TESTSERVER \, nonce = \ 4F4L1eHYktYv6n7LR4s5yyL5uMiVgKSg \, uri = \ http: // myurl \ , respuesta = \ 4bc3cdfc727bec9edebf6a55dac677a7 \, )]

No estoy seguro acerca del error: ¿es debido a mi headerresponse o porque estoy creando una nueva solicitud desde el hilo principal y no dentro de mi delegado, pero httpclient es siempre la misma instancia. Si se encuentra en la headerresponse, parece que no existe ninguna manera de escribir dirigir la cadena de respuesta en la cabecera usando asíncrono-http-cliente.

gracias Arnold

Publicado el 13/01/2020 a las 23:52
fuente por usuario
En otros idiomas...                            

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