Swift Digest Authentication async-http-client

hlasů
0

Snažím se vytvořit ověřování digest SWIFT na vrcholu swiftNIO. Na konci dostanu následující chybu: Operaci nelze dokončit. (Chyba NIO.NIOConnectionError 1)

Zde svou cestu do činění:

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

pak v hlavním vlákně Jsem provést následující kroky:

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

Bohužel jsem zjistil, žádný jiný způsob, jak vytvořit záhlaví. Musel jsem projít hodnotu „“, protože hlavičku odpovědi musí být (Wikipedia): „Povolení“ a pak zbytek. Zde je příklad mého genarated hlavičce odpovědi: [( Authorization: Digest username = \ myuser \ říše = \ testserver \, nonce = \ 4F4L1eHYktYv6n7LR4s5yyL5uMiVgKSg \ uri = \ http: // myurl \“ , reakce = \ 4bc3cdfc727bec9edebf6a55dac677a7 \“, )]

Nejsem si jistý, o chybě: je to kvůli mé headerresponse nebo proto, že jsem vytvořit novou žádost hlavního závitu a ne uvnitř mého delegáta, ale httpclient je vždy stejná instance. Pokud leží na headerresponse, zdá se, že neexistuje žádný způsob, jak psát směrovat řetězec odezvy do záhlaví pomocí asynchronní HTTP-client.

Díky Arnold

Položena 13/01/2020 v 23:52
zdroj uživatelem
V jiných jazycích...                            

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