Swift Digest Authentication async-http-client

votos
0

Eu estou tentando criar uma autenticação Digest usando rápida em cima de swiftNIO. No final eu recebo o seguinte erro: A operação não pôde ser concluída. (Erro NIO.NIOConnectionError 1.)

Aqui a minha maneira de fazer:

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

em seguida, no thread principal eu sou faça o seguinte:

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

Infelizmente eu não encontrei nenhuma outra maneira de criar o cabeçalho. Eu tinha que passar o valor de , porque o cabeçalho de resposta tem que ser (Wikipedia): Autorização: e depois o resto. Aqui um exemplo do meu cabeçalho de resposta genarated: [( Autorização: Digest username = \ myuser \ realm = \ Testserver \, nonce = \ 4F4L1eHYktYv6n7LR4s5yyL5uMiVgKSg \, uri = \ http: // myURL \ , resposta = \ 4bc3cdfc727bec9edebf6a55dac677a7 \, )]

Eu não estou certo sobre o erro: é por causa da minha headerresponse ou porque eu estou criando um novo pedido do segmento principal e não dentro do meu delegado, mas httpclient é sempre a mesma instância. Se ele fica na headerresponse, parece que não existe nenhuma maneira de escrever dirigir a cadeia de resposta no cabeçalho usando async-http-cliente.

graças Arnold

Publicado 13/01/2020 em 23:52
fonte usuário
Em outras línguas...                            

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